Merge branch 'dev_aliyun' of https://bdgit.educoder.net/Hjqreturn/educoder into dev_Ysl

dev_cs_new
杨树林 6 years ago
commit 428b67bfdf

@ -0,0 +1,529 @@
import React, {Component} from 'react';
import logo from './logo.svg';
import './App.css';
import {LocaleProvider} from 'antd'
import zhCN from 'antd/lib/locale-provider/zh_CN';
import {
BrowserRouter as Router,
Route,
Switch
} from 'react-router-dom';
import axios from 'axios';
import '@icedesign/base/dist/ICEDesignBase.css';
import '@icedesign/base/index.scss';
import LoginDialog from './modules/login/LoginDialog';
import Notcompletedysl from './modules/user/Notcompletedysl';
import Trialapplicationysl from './modules/login/Trialapplicationysl';
import Trialapplicationreview from './modules/user/Trialapplicationreview';
import Addcourses from "./modules/courses/coursesPublic/Addcourses";
import AccountProfile from"./modules/user/AccountProfile";
import Trialapplication from './modules/login/Trialapplication'
import NotFoundPage from './NotFoundPage'
import Loading from './Loading'
import Loadable from 'react-loadable';
import moment from 'moment'
import {MuiThemeProvider, createMuiTheme} from 'material-ui/styles';
// import './AppConfig'
import history from './history';
import {SnackbarHOC} from 'educoder'
import {initAxiosInterceptors} from './AppConfig'
// tpi需要这个来加载css
import {TPMIndexHOC} from './modules/tpm/TPMIndexHOC';
const theme = createMuiTheme({
palette: {
primary: {
main: '#4CACFF',
contrastText: 'rgba(255, 255, 255, 0.87)'
},
secondary: {main: '#4CACFF'}, // #11cb5f This is just green.A700 as hex.
},
});
//
// const Trialapplication= Loadable({
// loader: () =>import('./modules/login/Trialapplication'),
// loading:Loading,
// })
//登入
const EducoderLogin = Loadable({
loader: () => import('./modules/login/EducoderLogin'),
loading: Loading,
})
const TestIndex = Loadable({
loader: () => import('./modules/test'),
loading: Loading,
})
const IndexWrapperComponent = Loadable({
loader: () => import('./modules/page/IndexWrapper'),
loading: Loading,
})
const CommentComponent = Loadable({
loader: () => import('./modules/comment/CommentContainer'),
loading: Loading,
})
const TestMaterialDesignComponent = Loadable({
loader: () => import('./modules/test/md/TestMaterialDesign'),
loading: Loading,
})
const TestCodeMirrorComponent = Loadable({
loader: () => import('./modules/test/codemirror/TestCodeMirror'),
loading: Loading,
})
const TestComponent = Loadable({
loader: () => import('./modules/test/TestRC'),
loading: Loading,
})
const TestUrlQueryComponent = Loadable({
loader: () => import('./modules/test/urlquery/TestUrlQuery'),
loading: Loading,
})
const TPMIndexComponent = Loadable({
loader: () => import('./modules/tpm/TPMIndex'),
loading: Loading,
})
const TPMShixunsIndexComponent = Loadable({
loader: () => import('./modules/tpm/shixuns/ShixunsIndex'),
loading: Loading,
})
//实训课程(原实训路径)
const ShixunPaths = Loadable({
loader: () => import('./modules/paths/Index'),
loading: Loading,
})
//在线课堂
const CoursesIndex = Loadable({
loader: () => import('./modules/courses/Index'),
loading: Loading,
})
const SearchPage = Loadable({
loader: () => import('./search/SearchPage'),
loading: Loading,
})
//教学案例
const MoopCases = Loadable({
loader: () => import('./modules/moop_cases/index'),
loading: Loading,
})
// 课堂讨论
// const BoardIndex = Loadable({
// loader: () => import('./modules/courses/boards/BoardIndex'),
// loading:Loading,
// })
// //课堂普通作业&分组作业
// const CoursesWorkIndex = Loadable({
// loader: () => import('./modules/courses/busyWork/Index'),
// loading:Loading,
// })
//
// const TPMShixunchildIndexComponent = Loadable({
// loader: () => import('./modules/tpm/shixunchild/ShixunChildIndex'),
// loading: Loading,
// })
// const TPMshixunfork_listIndexComponent = Loadable({
// loader: () => import('./modules/tpm/shixunchild/Shixunfork_list'),
// loading: Loading,
// })
const ForumsIndexComponent = Loadable({
loader: () => import('./modules/forums/ForumsIndex'),
loading: Loading,
})
// trustie plus forum
// const TPForumsIndexComponent = Loadable({
// loader: () => import('./modules/tp-forums/TPForumsIndex'),
// loading: Loading,
// })
// const TestPageComponent = Loadable({
// loader: () => import('./modules/page/Index'),
// loading: Loading,
// })
//新建实训
const Newshixuns = Loadable({
loader: () => import('./modules/tpm/newshixuns/Newshixuns'),
loading: Loading,
})
//实训首页
const ShixunsHome = Loadable({
loader: () => import('./modules/home/shixunsHome'),
loading: Loading,
})
const CompatibilityPageLoadable = Loadable({
loader: () => import('./modules/common/CompatibilityPage'),
loading: Loading,
})
//403页面
const Shixunauthority = Loadable({
loader: () => import('./modules/403/Shixunauthority'),
loading: Loading,
})
//404页面
const Shixunnopage = Loadable({
loader: () => import('./modules/404/Shixunnopage'),
loading: Loading,
})
//500页面
const http500 = Loadable({
loader: () => import('./modules/500/http500'),
loading: Loading,
})
// 登录注册
const LoginRegisterPage = Loadable({
loader: () => import('./modules/user/LoginRegisterPage'),
loading: Loading,
})
const AccountPage = Loadable({
loader: () => import('./modules/user/AccountPage'),
loading: Loading,
})
// 个人主页
const UsersInfo = Loadable({
loader: () => import('./modules/user/usersInfo/Infos'),
loading: Loading,
})
// 兴趣页面
const Interestpage = Loadable({
loader: () => import('./modules/login/EducoderInteresse'),
loading: Loading,
})
//众包创新
const ProjectPackages=Loadable({
loader: () => import('./modules/projectPackages/ProjectPackageIndex'),
loading: Loading,
})
class App extends Component {
constructor(props) {
super(props)
// this.state = {
// isRenders:false,
// }
}
componentDidMount() {
// force an update if the URL changes
history.listen(() => {
this.forceUpdate()
const $ = window.$
// https://www.trustie.net/issues/21919 可能会有问题
$("html").animate({ scrollTop: $('html').scrollTop() - 0 })
});
initAxiosInterceptors(this.props)
//
// axios.interceptors.response.use((response) => {
// // console.log("response"+response);
// if(response!=undefined)
// // console.log("response"+response.data.statu);
// if (response&&response.data.status === 407) {
// this.setState({
// isRenders: true,
// })
// }
// return response;
// }, (error) => {
// //TODO 这里如果样式变了会出现css不加载的情况
// });
}
//修改登录方法
Modifyloginvalue=()=>{
this.setState({
isRender:false,
})
}
render() {
return (
<LocaleProvider locale={zhCN}>
<MuiThemeProvider theme={theme}>
<LoginDialog {...this.props} {...this.state} Modifyloginvalue={()=>this.Modifyloginvalue()}></LoginDialog>
<Notcompletedysl {...this.props} {...this.state}></Notcompletedysl>
<Trialapplicationysl {...this.props} {...this.state}></Trialapplicationysl>
<Trialapplicationreview {...this.props} {...this.state}></Trialapplicationreview>
<Addcourses {...this.props} {...this.state}/>
<AccountProfile {...this.props} {...this.state}/>
{/*{*/}
{/* isRender === true?*/}
{/* <LoginDialog></LoginDialog> : ""*/}
{/*}*/}
{/*{*/}
{/* isRenders === true?*/}
{/*<Trialapplication></Trialapplication>*/}
{/*:""*/}
{/*}*/}
<Router>
<Switch>
{/*<Route path="/login" component={LoginRegisterPage}/>*/}
{/*众包创新*/}
<Route path={"/crowdsourcings"} component={ProjectPackages}/>
{/*认证*/}
<Route path="/account" component={AccountPage}/>
{/*403*/}
<Route path="/403" component={Shixunauthority}/>
<Route path="/500" component={http500}/>
{/*404*/}
<Route path="/nopage" component={Shixunnopage}/>
<Route path="/compatibility" component={CompatibilityPageLoadable}/>
<Route
path="/login" component={EducoderLogin}
/>
<Route
path="/register" component={EducoderLogin}
/>
<Route path="/users/:username"
render={
(props) => (<UsersInfo {...this.props} {...props} {...this.state} />)
}></Route>
{/*<Route*/}
{/* path="/trialapplication" component={Trialapplication}*/}
{/*/>*/}
<Route
path="/changepassword" component={EducoderLogin}
/>
<Route
path="/interesse" component={Interestpage}
/>
<Route path="/shixuns/new" component={Newshixuns}>
</Route>
<Route path="/tasks/:stageId" component={IndexWrapperComponent}/>
<Route path="/shixuns/:shixunId" component={TPMIndexComponent}>
</Route>
{/*列表页*/}
<Route path="/shixuns" component={TPMShixunsIndexComponent}/>
{/* <Route path="/shixunchild" component={TPMShixunchildIndexComponent}>
</Route>
<Route path="/fork_list" component={TPMshixunfork_listIndexComponent}>
</Route> */}
{/*<Route path="/forums" component={ForumsIndexComponent}>*/}
{/*</Route>*/}
{/*实训课程(原实训路径)*/}
<Route path="/paths" component={ShixunPaths}></Route>
<Route path="/search"
render={
(props)=>(<SearchPage {...this.props} {...props} {...this.state}></SearchPage>)
}
></Route>
{/*课堂*/}
<Route path="/courses" component={CoursesIndex} {...this.props}></Route>
{/* 课堂讨论 */}
{/* <Route path="/board" component = {BoardIndex} {...this.props}></Route> */}
{/* <Route path="/tpforums" component={TPForumsIndexComponent}>
</Route> */}
{/* <Route path="/myshixuns/:shixunId/stages/:stageId" component={Index}/> */}
{/* 兴趣页面*/}
{/*<Route path="/interest" component={Interestpage}/>*/}
<Route path="/comment" component={CommentComponent}/>
<Route path="/testMaterial" component={TestMaterialDesignComponent}/>
<Route path="/test" component={TestIndex}/>
<Route path="/testCodeMirror" component={TestCodeMirrorComponent}/>
<Route path="/testRCComponent" component={TestComponent}/>
<Route path="/testUrlQuery" component={TestUrlQueryComponent}/>
{/* 教学案例 */}
<Route path="/moop_cases"render={
(props) => (<MoopCases {...this.props} {...props} {...this.state} />)
}/>
{/* <Route component={NotFoundPage}/> */}
{/*列表页*/}
{/*<Route component={TPMShixunsIndexComponent}/>*/}
{/*首页*/}
<Route exact path="/" component={ShixunsHome}/>
<Route component={Shixunnopage}/>
{/*<Route component={ShixunsHome}/>*/}
</Switch>
</Router>
</MuiThemeProvider>
</LocaleProvider>
);
}
}
// moment国际化设置为中文
moment.defineLocale('zh-cn', {
months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),
monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),
weekdaysShort: '周日_周一_周二_周三_周四_周五_周六'.split('_'),
weekdaysMin: '日_一_二_三_四_五_六'.split('_'),
longDateFormat: {
LT: 'Ah点mm分',
LTS: 'Ah点m分s秒',
L: 'YYYY-MM-DD',
LL: 'YYYY年MMMD日',
LLL: 'YYYY年MMMD日Ah点mm分',
LLLL: 'YYYY年MMMD日ddddAh点mm分',
l: 'YYYY-MM-DD',
ll: 'YYYY年MMMD日',
lll: 'YYYY年MMMD日Ah点mm分',
llll: 'YYYY年MMMD日ddddAh点mm分'
},
meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,
meridiemHour: function (hour, meridiem) {
if (hour === 12) {
hour = 0;
}
if (meridiem === '凌晨' || meridiem === '早上' ||
meridiem === '上午') {
return hour;
} else if (meridiem === '下午' || meridiem === '晚上') {
return hour + 12;
} else {
// '中午'
return hour >= 11 ? hour : hour + 12;
}
},
meridiem: function (hour, minute, isLower) {
var hm = hour * 100 + minute;
if (hm < 600) {
return '凌晨';
} else if (hm < 900) {
return '早上';
} else if (hm < 1130) {
return '上午';
} else if (hm < 1230) {
return '中午';
} else if (hm < 1800) {
return '下午';
} else {
return '晚上';
}
},
calendar: {
sameDay: function () {
return this.minutes() === 0 ? '[今天]Ah[点整]' : '[今天]LT';
},
nextDay: function () {
return this.minutes() === 0 ? '[明天]Ah[点整]' : '[明天]LT';
},
lastDay: function () {
return this.minutes() === 0 ? '[昨天]Ah[点整]' : '[昨天]LT';
},
nextWeek: function () {
var startOfWeek, prefix;
startOfWeek = moment().startOf('week');
prefix = this.unix() - startOfWeek.unix() >= 7 * 24 * 3600 ? '[下]' : '[本]';
return this.minutes() === 0 ? prefix + 'dddAh点整' : prefix + 'dddAh点mm';
},
lastWeek: function () {
var startOfWeek, prefix;
startOfWeek = moment().startOf('week');
prefix = this.unix() < startOfWeek.unix() ? '[上]' : '[本]';
return this.minutes() === 0 ? prefix + 'dddAh点整' : prefix + 'dddAh点mm';
},
sameElse: 'LL'
},
ordinalParse: /\d{1,2}(日|月|周)/,
ordinal: function (number, period) {
switch (period) {
case 'd':
case 'D':
case 'DDD':
return number + '日';
case 'M':
return number + '月';
case 'w':
case 'W':
return number + '周';
default:
return number;
}
},
relativeTime: {
future: '%s内',
past: '%s前',
s: '几秒',
m: '1分钟',
mm: '%d分钟',
h: '1小时',
hh: '%d小时',
d: '1天',
dd: '%d天',
M: '1个月',
MM: '%d个月',
y: '1年',
yy: '%d年'
},
week: {
// GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效
dow: 1, // Monday is the first day of the week.
doy: 4 // The week that contains Jan 4th is the first week of the year.
}
});
export default SnackbarHOC()(App);

@ -0,0 +1,2 @@
// Place all the behaviors and hooks related to the matching controller here.
// All this logic will automatically be available in application.js.

@ -0,0 +1,3 @@
// Place all the styles related to the users/banks controller here.
// They will automatically be included in application.css.
// You can use Sass (SCSS) here: http://sass-lang.com/

@ -298,7 +298,13 @@ class CoursesController < ApplicationController
@applications = CourseMessage.unhandled_join_course_requests_by_course(@course).
joins("join users on course_messages.course_message_id=users.id").
where("LOWER(concat(users.lastname, users.firstname)) LIKE ?", "%#{search_str}%")
@teacher_list_size = @course.teachers.size
if @course.try(:id) != 1309 || current_user.admin? || current_user.try(:id) == 15582
teacher_list = @course.course_members.where("course_members.role in (1, 2, 3)")
else
teacher_list = @course.course_members.where("(course_members.role in (1, 3) or (course_members.user_id = #{current_user.id}
and course_members.role = 2))")
end
@teacher_list_size = teacher_list.size
@applications_size = CourseMessage.unhandled_join_course_requests_by_course(@course).size
@is_admin = @user_course_identity < Course::PROFESSOR
end
@ -924,16 +930,23 @@ class CoursesController < ApplicationController
course_message = CourseMessage.new(course_id: course.id, user_id: course.tea_id, status: 0,
course_message_id: current_user.id, course_message_type: "JoinCourseRequest",
viewed: false)
course_message.content = 2 if params[:professor].present? && params[:professor].to_i == 1
course_message.content = 3 if params[:assistant_professor].present? && params[:assistant_professor].to_i == 1
if params[:professor].present? && params[:professor].to_i == 1
course_message.content = 2
role = 9
message = "教师申请已提交,请等待审核"
else
course_message.content = 3
role = 7
message = "助教申请已提交,请等待审核"
end
course_message.save!
role = course_message.content == 2 ? '9' : '7' # 7:助教 9:教师
# role = course_message.content == 2 ? '9' : '7' # 7:助教 9:教师
ApplyTeacherRoleJoinCourseNotifyJob.perform_later(current_user.id, course.id, role)
message = "#{course_message.content == 2 ? '教师' : '助教'}申请已提交,请等待审核"
# message = "#{course_message.content == 2 ? '教师' : '助教'}申请已提交,请等待审核"
else
message = "#{existing_course_message.content == 2 ? '教师' : '助教'}申请已提交,请等待审核"
message = "#{existing_course_message.content == '2' ? '教师' : '助教'}申请已提交,请等待审核"
end
else
message = "您已是课堂成员"

@ -1,7 +1,7 @@
class DiscussesController < ApplicationController
LIMIT = 10
before_action :find_container, only: [:index, :hidden]
before_action :find_discuss, except: [:create, :index, :new_message, :reward_code, :forum_discusses]
before_action :find_discuss, except: [:create, :index, :new_message, :reward_code, :forum_discusses, :plus]
def index
page = params[:page].to_i

@ -703,12 +703,14 @@ class ExercisesController < ApplicationController
end
if ex_status == 1 #如果试卷存在已发布的,或者是已截止的,那么则直接跳过
g_course = params[:group_ids] #表示是否传入分班参数,如果传入分班的参数,那么试卷的统一设置需修改
tiding_group_ids = g_course
if g_course
user_course_groups = @course.charge_group_ids(current_user)
if g_course.map(&:to_i).sort == user_course_groups.sort # 如果是设置为全部班级,则试卷不用分组,且试卷设定为统一设置,否则则分组设置
exercise.exercise_group_settings.destroy_all
ex_unified = true
e_time = ex_end_time
tiding_group_ids = []
else
ex_unified = false
g_course.each do |i|
@ -748,7 +750,7 @@ class ExercisesController < ApplicationController
if exercise.course_acts.size == 0
exercise.course_acts << CourseActivity.new(:user_id => exercise.user_id,:course_id => exercise.course_id)
end
ExercisePublishNotifyJob.perform_later(exercise.id, g_course)
ExercisePublishNotifyJob.perform_later(exercise.id, tiding_group_ids)
end
end
end
@ -1084,6 +1086,7 @@ class ExercisesController < ApplicationController
:subjective_score => subjective_score
}
@answer_committed_user.update_attributes(commit_option)
CommitExercsieNotifyJobJob.perform_later(@exercise.id, current_user.id)
normal_status(0,"试卷提交成功!")
end
rescue Exception => e

@ -467,13 +467,13 @@ class GamesController < ApplicationController
path = params[:path]
game_code = GameCode.where(:game_id => @game.try(:id), :path => path).first
if game_code.present?
content = game_code.try(:new_code)
@content = game_code.try(:new_code)
# @content = if @myshixun.mirror_name.select{|a| a.include?("MachineLearning") || a.include?("Python")}.present? && content.present?
# content.gsub(/\t/, ' ')
# else
# content
# end
update_file_content(content, @myshixun.repo_path, path, current_user.git_mail, current_user.real_name, "game passed reset")
update_file_content(@content, @myshixun.repo_path, path, current_user.git_mail, current_user.real_name, "game passed reset")
else
tip_exception("代码重置失败,代码为空")
end
@ -494,17 +494,10 @@ class GamesController < ApplicationController
path = path.try(:strip)
uid_logger("--rep_content: path is #{path}")
begin
if @myshixun.repo_name.nil?
g = Gitlab.client
repo_name = g.project(@myshixun.gpid).path_with_namespace
@myshixun.update_column(:repo_name, repo_name)
@content = git_fle_content("#{repo_name}.git", path) || ""
else
@content = git_fle_content(@myshixun.repo_path, path) || ""
end
@content = git_fle_content(@myshixun.repo_path, path) || ""
rescue Exception => e
# 思路: 异常首先应该考虑去恢复
# retry为1表示已经轮训完成后还没有解决问题这个时候需要检测异常
if params[:retry].to_i == 1
begin
# 如果模板没有问题,则通过中间层检测实训仓库是否异常
@ -542,7 +535,7 @@ class GamesController < ApplicationController
end
end
end
# 有异常,版本库获取不到代码,前端轮训30S后调用retry == 1
# 有异常,版本库获取不到代码,前端轮训15S后调用retry == 1
tip_exception(0, e.message)
end
end

@ -2,7 +2,8 @@ class LibrariesController < ApplicationController
include PaginateHelper
before_action :require_login, :check_auth, except: %i[index show]
before_action :check_account, except: %i[index show]
after_action :increment_visit_count, only: [:show, :edit, :update]
helper_method :current_library, :library_manageable?
def index
@ -38,7 +39,7 @@ class LibrariesController < ApplicationController
def create
library = current_user.libraries.new
Libraries::SaveService.call(library, current_user, save_params)
render_ok
render_ok({id: library.id})
rescue Libraries::SaveService::Error => ex
render_error(ex.message)
end
@ -47,7 +48,7 @@ class LibrariesController < ApplicationController
return render_forbidden unless library_manageable?(current_library)
Libraries::SaveService.call(current_library, current_user, save_params)
render_ok
render_ok({id: current_library.id})
rescue Libraries::SaveService::Error => ex
render_error(ex.message)
end
@ -80,6 +81,10 @@ class LibrariesController < ApplicationController
current_user&.id == library.user_id || admin_or_business?
end
def increment_visit_count
current_library.increment_visited_count! if current_library && current_library.id
end
def save_params
params.permit(:title, :content, :author_name, :author_school_name,
:cover_id, :publish, attachment_ids: [], tag_ids: [])

@ -1,5 +1,6 @@
class MemosController < ApplicationController
before_action :require_login, except: [:show, :index]
before_action :check_account, only: [:new, :create]
before_action :set_memo, only: [:show, :edit, :update, :destroy, :sticky_or_cancel, :hidden, :more_reply]
before_action :validate_memo_params, only: [:create, :update]
before_action :owner_or_admin, only: [:edit, :update, :destroy]
@ -155,7 +156,7 @@ class MemosController < ApplicationController
@reply.root_id = memo.root_id || memo.id
memo.children << @reply
m = Memo.find_by!(id: @reply.root_id)
m.increment!(:all_replies_count)
m.update_attributes!(all_replies_count: m.all_replies_count + 1)
rescue Exception => e
tip_exception("回复失败,原因:#{e}")
raise ActiveRecord::Rollback
@ -191,7 +192,7 @@ class MemosController < ApplicationController
tip_exception("话题名称不能为空") if params[:subject].blank?
tip_exception("话题内容不能为空") if params[:content].blank?
tip_exception("话题类型不能为空") if params[:forum_id].blank?
tip_exception("技术标签不能为空") if params[:tags].blank?
tip_exception("技术标签不能为空") if params[:forum_id].to_i == 5 && params[:tags].blank?
end
end

@ -265,9 +265,10 @@ class MyshixunsController < ApplicationController
# params[:evaluate] 实训评测时更新必须给的参数,需要依据该参数做性能统计,其它类型的更新可以跳过
# 自动保存的时候evaluate为0点评测的时候为1
if params[:evaluate] == 1
exec_time = game.challenge.try(:exec_time)
@sec_key = generate_identifier(EvaluateRecord, 12)
record = EvaluateRecord.create!(:user_id => current_user.id, :shixun_id => @myshixun.shixun_id, :game_id => game_id,
:identifier => @sec_key)
:identifier => @sec_key, :exec_time => exec_time)
uid_logger("-- game build: file update #{@sec_key}, record id is #{record.id}, time is **** #{Time.now.strftime("%Y-%m-%d %H:%M:%S.%L")}")
end
unless @hide_code

@ -919,6 +919,7 @@ class PollsController < ApplicationController
:end_at => Time.now
}
poll_user_current.update_attributes(poll_user_params)
CommitPollNotifyJobJob.perform_later(@poll.id, current_user.id)
normal_status(0, "问卷提交成功!")
end
## 需添加发送消息的接口,稍后添加

@ -5,7 +5,6 @@ class ShixunsController < ApplicationController
before_action :require_login, :check_auth, except: [:download_file, :index, :menus]
before_action :check_account, only: [:new, :create, :shixun_exec]
before_action :check_auth, except: [:download_file, :index, :menus]
before_action :find_shixun, :shixun_access_allowed, except: [:index, :new, :create, :menus, :get_recommend_shixuns,
:propaedeutics, :departments, :apply_shixun_mirror,
@ -164,7 +163,7 @@ class ShixunsController < ApplicationController
@new_shixun = Shixun.new
@new_shixun.attributes = @shixun.attributes.dup.except("id","user_id","visits","gpid","status", "identifier", "averge_star",
"homepage_show","repo_name", "myshixuns_count", "challenges_count",
"can_copy")
"can_copy", "created_at", "updated_at")
@new_shixun.user_id = User.current.id
@new_shixun.averge_star = 5
@new_shixun.identifier = generate_identifier Shixun, 8
@ -514,6 +513,103 @@ class ShixunsController < ApplicationController
# 以前在开启挑战的时候检测实训是否更新更新则重置觉得应该放在TPI更好
# 中间需要一个过渡动画
# TODO: 第一次开启实训都会去判断是否是纯选择题类型,感觉做成在创建关卡的时候就判断该实训是否是纯选择题更加合适
def shixun_exec
if is_shixun_opening?
tip_show_exception(-3, "#{@shixun.opening_time.strftime('%Y-%m-%d %H:%M:%S')}")
end
current_myshixun = @shixun.current_myshixun(current_user.id)
min_challenges = @shixun.challenges.pluck(:id , :st)
Rails.logger.info("11111111112#{current_myshixun.try(:id)}")
Rails.logger.info("111111111102#{params[:reset] != 1}")
# 因为读写分离有延迟所以如果是重置来的请求可以先跳过重置过来的params[:reset]为1
if current_myshixun && params[:reset] != "1"
games = current_myshixun.games
# 如果TPM和TPI的管卡数不相等或者关卡顺序错了说明实训被极大的改动需要重置,实训发布前打过的实训都需要重置
if is_shixun_reset?(games, min_challenges, current_myshixun)
# 这里页面弹框要收到 当前用户myshixun的identifier.
tip_show_exception("/myshixuns/#{current_myshixun.try(:identifier)}/reset_my_game")
end
# 如果存在实训,则直接进入实训
# 如果实训允许跳关传参params[:challenge_id]跳入具体的关卡
@current_task =
if params[:challenge_id]
game = games.where(challenge_id: params[:challenge_id]).take
if @shixun.task_pass || game.status != 3
game
else
current_myshixun.current_task(games)
end
else
current_myshixun.current_task(games)
end
else
# 如果未创建关卡一定不能开启实训否则TPI没法找到当前的关卡
if @shixun.challenges_count == 0
tip_exception("开启实战前请先创建实训关卡")
end
# 判断实训是否全为选择题
is_choice_type = (min_challenges.size == min_challenges.select{|challenge| challenge.last == 1}.count)
if !is_choice_type
commit = GitService.commits(repo_path: @repo_path).try(:first)
uid_logger("First comit########{commit}")
tip_exception("开启实战前请先在版本库中提交代码") if commit.blank?
commit_id = commit["id"]
end
ActiveRecord::Base.transaction do
begin
cloud_bridge = edu_setting('cloud_bridge')
myshixun_identifier = generate_identifier Myshixun, 10
myshixun = @shixun.myshixuns.create!(user_id: current_user.id, identifier: myshixun_identifier,
modify_time: @shixun.modify_time, reset_time: @shixun.reset_time,
onclick_time: Time.now, commit_id: commit_id, repo_name: (is_choice_type ? "-1" : nil))
uid_logger("myshixun_id is #{myshixun.id}")
# 其它创建关卡等操作
challenges = @shixun.challenges
# 之所以增加user_id是为了方便统计查询性能
game_attrs = %i[challenge_id myshixun_id status user_id open_time identifier modify_time created_at updated_at]
Game.bulk_insert(*game_attrs) do |worker|
base_attr = { myshixun_id: myshixun.id, user_id: myshixun.user_id }
challenges.each_with_index do |challenge, index|
status = (index == 0 ? 0 : 3)
game_identifier = generate_identifier(Game, 12)
worker.add(base_attr.merge(challenge_id: challenge.id, status: status, open_time: Time.now,
identifier: game_identifier, modify_time: challenge.modify_time))
end
end
# 如果实训是纯选择题则不需要去fork仓库以及中间层的相关操作了
unless is_choice_type
# fork仓库
project_fork(myshixun, @repo_path, current_user.login)
rep_url = Base64.urlsafe_encode64(repo_ip_url @repo_path )
uid_logger("start openGameInstance")
uri = "#{cloud_bridge}/bridge/game/openGameInstance"
logger.info("end openGameInstance")
params = {tpiID: "#{myshixun.id}", tpmGitURL:rep_url, tpiRepoName: myshixun.repo_name.split("/").last}
uid_logger("openGameInstance params is #{params}")
interface_post uri, params, 83, "实训云平台繁忙繁忙等级83"
end
@current_task = myshixun.current_task(myshixun.games)
uid_logger("## shixun exec: myshixun id is #{myshixun.id}")
rescue Exception => e
uid_logger_error(e.message)
tip_exception("实训云平台繁忙繁忙等级81")
raise ActiveRecord::Rollback
end
end
end
end
# def shixun_exec
# if is_shixun_opening?
# tip_show_exception(-3, "#{@shixun.opening_time.strftime('%Y-%m-%d %H:%M:%S')}")
@ -521,10 +617,6 @@ class ShixunsController < ApplicationController
# current_myshixun = @shixun.current_myshixun(current_user.id)
#
# min_challenges = @shixun.challenges.pluck(:id , :st)
#
# Rails.logger.info("11111111112#{current_myshixun.try(:id)}")
# Rails.logger.info("111111111102#{params[:reset] != 1}")
#
# # 因为读写分离有延迟所以如果是重置来的请求可以先跳过重置过来的params[:reset]为1
# if current_myshixun && params[:reset] != "1"
# games = current_myshixun.games
@ -541,7 +633,6 @@ class ShixunsController < ApplicationController
# current_myshixun.update_column(:repo_name, repo_name)
# end
#
#
# # 如果存在实训,则直接进入实训
# # 如果实训允许跳关传参params[:challenge_id]跳入具体的关卡
# @current_task =
@ -570,159 +661,59 @@ class ShixunsController < ApplicationController
# commit_id = commit["id"]
# end
#
# ActiveRecord::Base.transaction do
# begin
# cloud_bridge = edu_setting('cloud_bridge')
# myshixun_identifier = generate_identifier Myshixun, 10
# myshixun = @shixun.myshixuns.create!(user_id: current_user.id, identifier: myshixun_identifier,
# modify_time: @shixun.modify_time, reset_time: @shixun.reset_time,
# onclick_time: Time.now, commit_id: commit_id)
# uid_logger("myshixun_id is #{myshixun.id}")
#
#
# # 其它创建关卡等操作
# challenges = @shixun.challenges
# # 之所以增加user_id是为了方便统计查询性能
# game_attrs = %i[challenge_id myshixun_id status user_id open_time identifier modify_time created_at updated_at]
# Game.bulk_insert(*game_attrs) do |worker|
# base_attr = { myshixun_id: myshixun.id, user_id: myshixun.user_id }
# challenges.each_with_index do |challenge, index|
# status = (index == 0 ? 0 : 3)
# game_identifier = generate_identifier(Game, 12)
# worker.add(base_attr.merge(challenge_id: challenge.id, status: status, open_time: Time.now,
# identifier: game_identifier, modify_time: challenge.modify_time))
# begin
# ActiveRecord::Base.transaction do
# begin
# myshixun_identifier = generate_identifier Myshixun, 10
# myshixun_params = {user_id: current_user.id, identifier: myshixun_identifier,
# modify_time: @shixun.modify_time, reset_time: @shixun.reset_time,
# onclick_time: Time.now, commit_id: commit_id}
# @myshixun = @shixun.myshixuns.create!(myshixun_params)
# # 其它创建关卡等操作
# challenges = @shixun.challenges
# # 之所以增加user_id是为了方便统计查询性能
# game_attrs = %i[challenge_id myshixun_id status user_id open_time identifier modify_time created_at updated_at]
# Game.bulk_insert(*game_attrs) do |worker|
# base_attr = {myshixun_id: @myshixun.id, user_id: @myshixun.user_id}
# challenges.each_with_index do |challenge, index|
# status = (index == 0 ? 0 : 3)
# game_identifier = generate_identifier(Game, 12)
# worker.add(base_attr.merge(challenge_id: challenge.id, status: status, open_time: Time.now,
# identifier: game_identifier, modify_time: challenge.modify_time))
# end
# end
# @current_task = @myshixun.current_task(@myshixun.games)
# rescue Exception => e
# logger.error("------ActiveRecord::RecordInvalid: #{e.message}")
# raise("ActiveRecord::RecordInvalid")
# end
#
# # 如果实训是纯选择题则不需要去fork仓库以及中间层的相关操作了
# end
# # 如果实训是纯选择题则不需要去fork仓库以及中间层的相关操作了
# ActiveRecord::Base.transaction do
# unless is_choice_type
# # fork仓库
# project_fork(myshixun, @repo_path, current_user.login)
#
# rep_url = Base64.urlsafe_encode64(repo_ip_url @repo_path )
# cloud_bridge = edu_setting('cloud_bridge')
# project_fork(@myshixun, @repo_path, current_user.login)
# rep_url = Base64.urlsafe_encode64(repo_ip_url @repo_path)
# uid_logger("start openGameInstance")
# uri = "#{cloud_bridge}/bridge/game/openGameInstance"
# logger.info("end openGameInstance")
# params = {tpiID: "#{myshixun.id}", tpmGitURL:rep_url, tpiRepoName: myshixun.repo_name.split("/").last}
# params = {tpiID: "#{@myshixun.id}", tpmGitURL: rep_url, tpiRepoName: @myshixun.repo_name.split("/").last}
# uid_logger("openGameInstance params is #{params}")
# interface_post uri, params, 83, "实训云平台繁忙繁忙等级83"
# end
#
# @current_task = myshixun.current_task(myshixun.games)
# uid_logger("## shixun exec: myshixun id is #{myshixun.id}")
# rescue Exception => e
# uid_logger_error(e.message)
# tip_exception("实训云平台繁忙繁忙等级81")
# raise ActiveRecord::Rollback
# end
# rescue Exception => e
# logger.info("shixun_exec error: #{e.message}")
# if e.message != "ActiveRecord::RecordInvalid"
# logger.error("##########project_fork error #{e.message}")
# @myshixun.destroy!
# end
# raise "实训云平台繁忙繁忙等级81"
# end
# end
# end
def shixun_exec
if is_shixun_opening?
tip_show_exception(-3, "#{@shixun.opening_time.strftime('%Y-%m-%d %H:%M:%S')}")
end
current_myshixun = @shixun.current_myshixun(current_user.id)
min_challenges = @shixun.challenges.pluck(:id , :st)
# 因为读写分离有延迟所以如果是重置来的请求可以先跳过重置过来的params[:reset]为1
if current_myshixun && params[:reset] != "1"
games = current_myshixun.games
# 如果TPM和TPI的管卡数不相等或者关卡顺序错了说明实训被极大的改动需要重置,实训发布前打过的实训都需要重置
if is_shixun_reset?(games, min_challenges, current_myshixun)
# 这里页面弹框要收到 当前用户myshixun的identifier.
tip_show_exception("/myshixuns/#{current_myshixun.try(:identifier)}/reset_my_game")
end
if current_myshixun.repo_name.nil?
g = Gitlab.client
repo_name = g.project(current_myshixun.gpid).try(:path_with_namespace)
current_myshixun.update_column(:repo_name, repo_name)
end
# 如果存在实训,则直接进入实训
# 如果实训允许跳关传参params[:challenge_id]跳入具体的关卡
@current_task =
if params[:challenge_id]
game = games.where(challenge_id: params[:challenge_id]).take
if @shixun.task_pass || game.status != 3
game
else
current_myshixun.current_task(games)
end
else
current_myshixun.current_task(games)
end
else
# 如果未创建关卡一定不能开启实训否则TPI没法找到当前的关卡
if @shixun.challenges_count == 0
tip_exception("开启实战前请先创建实训关卡")
end
# 判断实训是否全为选择题
is_choice_type = (min_challenges.size == min_challenges.select{|challenge| challenge.last == 1}.count)
if !is_choice_type
commit = GitService.commits(repo_path: @repo_path).try(:first)
uid_logger("First comit########{commit}")
tip_exception("开启实战前请先在版本库中提交代码") if commit.blank?
commit_id = commit["id"]
end
begin
ActiveRecord::Base.transaction do
begin
myshixun_identifier = generate_identifier Myshixun, 10
myshixun_params = {user_id: current_user.id, identifier: myshixun_identifier,
modify_time: @shixun.modify_time, reset_time: @shixun.reset_time,
onclick_time: Time.now, commit_id: commit_id}
@myshixun = @shixun.myshixuns.create!(myshixun_params)
# 其它创建关卡等操作
challenges = @shixun.challenges
# 之所以增加user_id是为了方便统计查询性能
game_attrs = %i[challenge_id myshixun_id status user_id open_time identifier modify_time created_at updated_at]
Game.bulk_insert(*game_attrs) do |worker|
base_attr = {myshixun_id: @myshixun.id, user_id: @myshixun.user_id}
challenges.each_with_index do |challenge, index|
status = (index == 0 ? 0 : 3)
game_identifier = generate_identifier(Game, 12)
worker.add(base_attr.merge(challenge_id: challenge.id, status: status, open_time: Time.now,
identifier: game_identifier, modify_time: challenge.modify_time))
end
end
@current_task = @myshixun.current_task(@myshixun.games)
rescue Exception => e
logger.error("------ActiveRecord::RecordInvalid: #{e.message}")
raise("ActiveRecord::RecordInvalid")
end
end
# 如果实训是纯选择题则不需要去fork仓库以及中间层的相关操作了
ActiveRecord::Base.transaction do
unless is_choice_type
# fork仓库
cloud_bridge = edu_setting('cloud_bridge')
project_fork(@myshixun, @repo_path, current_user.login)
rep_url = Base64.urlsafe_encode64(repo_ip_url @repo_path)
uid_logger("start openGameInstance")
uri = "#{cloud_bridge}/bridge/game/openGameInstance"
logger.info("end openGameInstance")
params = {tpiID: "#{@myshixun.id}", tpmGitURL: rep_url, tpiRepoName: @myshixun.repo_name.split("/").last}
uid_logger("openGameInstance params is #{params}")
interface_post uri, params, 83, "实训云平台繁忙繁忙等级83"
end
end
rescue Exception => e
logger.info("shixun_exec error: #{e.message}")
if e.message != "ActiveRecord::RecordInvalid"
logger.error("##########project_fork error #{e.message}")
@myshixun.destroy!
end
raise "实训云平台繁忙繁忙等级81"
end
end
end
# gameID 及实训ID
# status: 0 , 1 申请过, 2实训关卡路径未填 3 实训标签未填, 4 实训未创建关卡
def publish
@ -782,8 +773,8 @@ class ShixunsController < ApplicationController
school_name = "%#{params[:school_name].to_s.strip}%"
if user_name.present? || school_name.present?
@users = User.joins(user_extension: :school).where("users.id not in #{member_ids} AND users.status = 1 AND
(LOWER(users.lastname) LIKE ? or users.phone like ?) AND LOWER(schools.name) LIKE
?", user_name, user_name, school_name)
(LOWER(concat(users.lastname, users.firstname)) LIKE ? or users.phone like ?)
AND LOWER(schools.name) LIKE ?", user_name, user_name, school_name)
else
@users = User.none
end

@ -360,7 +360,7 @@ class StudentWorksController < ApplicationController
Tiding.create(user_id: @work.user_id, trigger_user_id: User.current.id, container_id: new_score.id,
container_type: "StudentWorksScore", parent_container_id: @work.id,
parent_container_type: "HomeworkCommon", belong_container_id: @homework.course_id,
belong_container_type: "Course", viewed: 0, tiding_type: "HomeworkCommon", extra: new_score.reviewer_role)
belong_container_type: "Course", viewed: 0, tiding_type: new_score.reviewer_role == 3 ? "System" : "HomeworkCommon", extra: new_score.reviewer_role)
case new_score.reviewer_role
when 1 #教师评分:最后一个教师评分为最终评分

@ -0,0 +1,40 @@
class Users::BanksController < Users::BaseController
before_action :params_filter
def index
order = params[:order] || "updated_at"
sort = params[:sort] || "desc"
@banks = @object_type.classify.constantize.where(@object_filter)
@course_lists = CourseList.where(id: @banks.pluck(:course_list_id))
@banks = @banks.where(course_list_id: params[:tag_id]) unless params[:tag_id].blank?
@banks = @banks.order("#{order} #{sort}")
@banks_count = @banks.size
end
private
def params_filter
type = ["normal", "group", "poll", "exercise", "gtask", "gtopic"]
tip_exception("object_type类型不正确") unless type.include?(params[:object_type])
# HomeworkBank 普通、分组作业题库ExerciseBank试卷、问卷题库GtaskBank毕设选题题库GtopicBank毕设任务题库
case params[:object_type]
when 'normal'
@object_type = "HomeworkBank"
@object_filter = "homework_type = 1" # 普通作业
when 'group'
@object_type = "HomeworkBank"
@object_filter = "homework_type = 3" # 分组作业
when 'poll'
@object_type = "ExerciseBank"
@object_filter = "container_type = 'Poll'" # 问卷
when 'exercise'
@object_type = "ExerciseBank"
@object_filter = "container_type = 'Exercise'" # 试卷
when 'gtask'
@object_type = "GtaskBank"
@object_filter = nil
when 'gtopic'
@object_type = "GtopicBank"
@object_filter = nil
end
end
end

@ -1,4 +1,5 @@
class Users::PrivateMessageDetailsController < Users::BaseController
before_action :require_login
before_action :private_user_resources!
after_action :update_message_status, only: [:show]

@ -1,4 +1,5 @@
class Users::PrivateMessagesController < Users::BaseController
before_action :require_login
before_action :private_user_resources!
after_action :update_onclick_time!, only: [:index]
@ -9,6 +10,8 @@ class Users::PrivateMessagesController < Users::BaseController
query = "SELECT subquery.*, COUNT(*) message_count FROM (#{subquery}) subquery "\
"GROUP BY subquery.target_id ORDER BY subquery.send_time desc LIMIT #{limit_value} OFFSET #{offset_value}"
@messages = PrivateMessage.select('*').from("(#{query}) AS query").includes(target: :user_extension)
observed_user.private_messages.only_unread.update_all(status: 1)
end
def create

@ -1,5 +1,5 @@
module CourseDecorator
def can_visited?
is_public == 1 || User.current.admin? || User.current.member_of_course?(self)
is_public == 1 || User.current.admin_or_business? || User.current.member_of_course?(self)
end
end

@ -30,6 +30,7 @@ module TidingDecorator
end
def strip_html(text, len = 0, suffix = "...")
text = text.to_s
str = ""
if !text.nil? && text.length > 0
str = text.gsub(/<\/?.*?>/, '').strip
@ -46,13 +47,13 @@ module TidingDecorator
# ================ 各种类消息内容方法 ================
def apply_user_authentication_content
return if trigger_user_id.zero?
t_user = trigger_user || User.find(1)
if tiding_type == 'Apply'
str1, str2 = if container.auth_type == 1
[trigger_user.show_real_name, trigger_user.ID_number]
[t_user.show_real_name, t_user.ID_number]
elsif container.auth_type == 2
ue = trigger_user.user_extension
ue = t_user.user_extension
[[ue.school&.name, ue.department&.name].join('_'), ue.identity_text]
end
I18n.t(locale_format(tiding_type, container.auth_type)) % [str1, str2]
@ -96,7 +97,7 @@ module TidingDecorator
elsif status == 2
I18n.t(locale_format(tiding_type, "#{status}_#{extra.nil?}"), reason: extra) % [name, second_name]
else
I18n.t(locale_format(tiding_type, status)) % [name, second_name]
I18n.t(locale_format(tiding_type, status), reason: extra) % [name, second_name]
end
end
@ -105,9 +106,9 @@ module TidingDecorator
if tiding_type == 'Apply'
I18n.t(locale_format(tiding_type)) % name
elsif status == 2
I18n.t(locale_format(tiding_type, "#{status}_#{extra.nil?}"), reason: extra) % name
I18n.t(locale_format(tiding_type, "#{status}_#{extra.nil?}"), name: name, reason: extra)
else
I18n.t(locale_format(tiding_type, status)) % name
I18n.t(locale_format(tiding_type, status), name: name, reason: extra)
end
end

@ -62,15 +62,18 @@ module ApplicationHelper
# shixun开启挑战对应的行为名及url
def task_operation_url current_myshixun, shixun
url = "/shixuns/#{shixun.identifier}/shixun_exec"
name =
if current_myshixun.blank?
shixun.status == 0 ? "模拟实战" : "开启挑战"
elsif current_myshixun.status == 1
"查看实战"
if current_myshixun.blank?
name = shixun.status == 0 ? "模拟实战" : "开启挑战"
url = "/shixuns/#{shixun.identifier}/shixun_exec"
else
identifier = current_myshixun.current_task(current_myshixun.games).try(:identifier)
if current_myshixun.status == 1
name = "查看实战"
else
"继续挑战"
name = "继续挑战"
end
url = identifier
end
[name, url]
end

@ -0,0 +1,2 @@
module Users::BanksHelper
end

@ -0,0 +1,26 @@
class CommitExercsieNotifyJobJob < ApplicationJob
queue_as :notify
def perform(exercise_id, user_id)
exercise = Exercise.find_by(id: exercise_id)
user = User.find_by(id: user_id)
return if [exercise, user].any?(&:blank?)
course = exercise.course
attrs = %i[user_id trigger_user_id container_id container_type parent_container_id parent_container_type
belong_container_id belong_container_type tiding_type viewed status created_at updated_at]
same_attrs = {
trigger_user_id: user.id,
container_id: exercise.id, container_type: 'Exercise',
parent_container_id: exercise.id, parent_container_type: 'CommitExercise',
belong_container_id: course.id, belong_container_type: 'Course',
tiding_type: 'Exercise', viewed: 0, status: 0
}
Tiding.bulk_insert(*attrs) do |worker|
course.course_member(user).member_teachers.each do |teacher|
worker.add same_attrs.merge(user_id: teacher.user_id)
end
end
end
end

@ -0,0 +1,26 @@
class CommitPollNotifyJobJob < ApplicationJob
queue_as :notify
def perform(poll_id, user_id)
poll = Poll.find_by(id: poll_id)
user = User.find_by(id: user_id)
return if [poll, user].any?(&:blank?)
course = poll.course
attrs = %i[user_id trigger_user_id container_id container_type parent_container_id parent_container_type
belong_container_id belong_container_type tiding_type viewed status created_at updated_at]
same_attrs = {
trigger_user_id: user.id,
container_id: poll.id, container_type: 'Poll',
parent_container_id: poll.id, parent_container_type: 'CommitPoll',
belong_container_id: course.id, belong_container_type: 'Course',
tiding_type: 'Poll', viewed: 0, status: 0
}
Tiding.bulk_insert(*attrs) do |worker|
course.course_member(user).member_teachers.each do |teacher|
worker.add same_attrs.merge(user_id: teacher.user_id)
end
end
end
end

@ -19,11 +19,20 @@ class StudentWorkScoreAppealNotifyJob < ApplicationJob
belong_container_id: course.id, belong_container_type: 'Course',
tiding_type: 'HomeworkCommon', viewed: 0, status: 0
}
student_same_attrs = {
trigger_user_id: 0,
container_id: appeal.id, container_type: 'StudentWorksScoresAppeal',
parent_container_id: score.student_work_id, parent_container_type: 'StudentWork',
belong_container_id: course.id, belong_container_type: 'Course',
tiding_type: 'System', viewed: 0, status: 0
}
Tiding.bulk_insert(*attrs) do |worker|
course.course_member(user).member_teachers.each do |teacher|
worker.add same_attrs.merge(user_id: teacher.user_id)
end
worker.add same_attrs.merge(user_id: score.user_id)
worker.add student_same_attrs.merge(user_id: score.user_id)
end
end
end

@ -9,6 +9,7 @@ class ApplyAddSchool < ApplicationRecord
private
def send_notify
tidings.create!(user_id: 1, status: 0, trigger_user_id: user_id, belong_container: school, tiding_type: 'Apply')
Tiding.create!(user_id: 1, status: 0, container_id: id, container_type: 'ApplyAddSchools',
trigger_user_id: user_id, belong_container: school, tiding_type: 'Apply')
end
end

@ -3,8 +3,18 @@
class ApplyUserAuthentication < ApplicationRecord
belongs_to :user
has_many :tidings, :as => :container, :dependent => :destroy
scope :real_name_auth, -> { where(auth_type: 1) }
scope :professional_auth, -> { where(auth_type: 2) }
scope :processing, -> { where(status: 0) }
scope :passed, -> { where(status: 1) }
after_create :send_tiding
private
def send_tiding
self.tidings << Tiding.new(:user_id => '1', :status=> 0, :trigger_user_id => user_id, :belong_container_id => 1, :belong_container_type =>'User', :tiding_type => "Apply")
end
end

@ -11,7 +11,7 @@ class CourseMessage < ApplicationRecord
def pass!
update!(status: :PASSED)
send_deal_tiding
send_deal_tiding(1)
end
def application_user
@ -20,16 +20,16 @@ class CourseMessage < ApplicationRecord
def reject!
update!(status: :REJECTED)
send_deal_tiding
send_deal_tiding(2)
end
private
def send_deal_tiding
def send_deal_tiding deal_status
# 发送申请处理结果消息
Tiding.create!(
user_id: course_message_id, trigger_user: User.current, container_id: course_id, container_type: 'DealCourse',
belong_container: course, extra: content.to_i == 2 ? '7' : '9', tiding_type: 'System', status: status == :PASSED ? 1 : 2
belong_container: course, extra: content.to_i == 2 ? '9' : '7', tiding_type: 'System', status: deal_status
)
# 将申请消息置为已处理
Tiding.where(trigger_user_id: user_id, container_id: course_id, container_type: 'JoinCourse', status: 0).update_all(status: 1)

@ -11,6 +11,7 @@ class JournalsForMessage < ApplicationRecord
scope :parent_comment, -> { where(m_parent_id: nil)}
scope :search_by_jour_type, lambda{|type,ids| where(jour_type:type,jour_id: ids)}
has_many :tidings, as: :container, dependent: :destroy
# "jour_type", # 留言所属类型
# "jour_id", # 留言所属类型的id
@ -25,6 +26,8 @@ class JournalsForMessage < ApplicationRecord
# "is_comprehensive_evaluation", # 1 教师评论、2 匿评、3 留言
# "hidden", 隐藏
after_create :send_tiding
# course_identity 课堂用户身份
def contents_show course_identity
@ -47,4 +50,29 @@ class JournalsForMessage < ApplicationRecord
JournalsForMessage.includes(:user).where(m_parent_id: self.id).page(page).per(limit).reorder("created_on asc")
end
def send_tiding
# 回复和@同一个人时:只发@的消息(因@的消息先创建)
case self.jour_type
# 用户留言当做私信处理 不发消息
when "Principal"
=begin
user_id = self.m_parent_id.present? ? JournalsForMessage.find(self.m_parent_id).user_id : self.jour_id
if user_id != self.user_id && !self.tidings.where(:user_id => user_id, :trigger_user_id => self.user_id, :tiding_type => "Mentioned").first.present?
self.tidings << Tiding.new(:trigger_user_id => self.user_id, :user_id => user_id, :parent_container_id => self.jour_id, :parent_container_type => self.jour_type, :belong_container_id => self.jour_id, :belong_container_type => "User", :viewed => 0, :tiding_type => self.m_parent_id.present? ? "Comment" : "Journal")
end
=end
when "HomeworkCommon", "GraduationTopic"
user_id = self.m_parent_id.present? ? JournalsForMessage.find(self.m_parent_id).user_id : (self.jour_type == "HomeworkCommon" ? self.jour.user_id : self.jour.tea_id)
if user_id != self.user_id && !self.tidings.where(:user_id => user_id, :trigger_user_id => self.user_id, :tiding_type => "Mentioned").first.present?
self.tidings << Tiding.new(:trigger_user_id => self.user_id, :user_id => user_id, :parent_container_id => self.jour_id, :parent_container_type => self.jour_type, :belong_container_id => self.jour.course_id, :belong_container_type => "Course", :viewed => 0, :tiding_type => "Comment")
end
when "StudentWorksScore"
course_id = self.jour.try(:student_work).try(:homework_common).try(:course_id)
user_id = self.m_parent_id.present? ? JournalsForMessage.find(self.m_parent_id).user_id : self.jour.user_id
if user_id != self.user_id && !self.tidings.where(:user_id => user_id, :trigger_user_id => self.user_id, :tiding_type => "Mentioned").first.present?
self.tidings << Tiding.new(:trigger_user_id => self.user_id, :user_id => user_id, :parent_container_id => self.jour_id, :parent_container_type => self.jour_type, :belong_container_id => course_id, :belong_container_type => "Course", :viewed => 0, :tiding_type => "Comment")
end
end
end
end

@ -34,6 +34,10 @@ class Library < ApplicationRecord
end
end
def increment_visited_count!(num = 1)
increment_column!(:visited_count, num)
end
def generate_uuid
uuid = Util::UUID.time_uuid
while Library.exists?(uuid: uuid)
@ -42,4 +46,10 @@ class Library < ApplicationRecord
self.uuid = uuid
end
private
def increment_column!(column, num = 1)
self.class.connection.execute("update #{self.class.table_name} set #{column} = COALESCE(#{column}, 0) + #{num} where id = #{id}")
end
end

@ -43,7 +43,8 @@ module Searchable::Subject
author_school_name: user.school_name,
visits_count: visits,
stage_count: stages_count,
stage_shixuns_count: stage_shixuns_count
stage_shixuns_count: stage_shixuns_count,
shixuns_count: shixuns_count
}
end

@ -17,7 +17,12 @@ class StudentGraduationTopic < ApplicationRecord
scope :is_refused, -> {where(status: 2)}
scope :is_accepted, -> {where(status: 1)}
scope :is_accepting, -> {where(status: 0)}
after_create :send_tiding
def send_tiding
self.tidings << Tiding.new(:user_id => self.graduation_topic.tea_id, :trigger_user_id => self.user_id, :parent_container_id => self.graduation_topic_id, :parent_container_type => "GraduationTopic",
:belong_container_id => self.graduation_topic.course_id, :belong_container_type => "Course", :viewed => 0, :status => 0, :tiding_type => "GraduationTopic")
end
# 学生名称
def name

@ -132,6 +132,10 @@ class User < ApplicationRecord
# 项目
has_many :applied_projects, dependent: :destroy
# 教学案例
has_many :libraries, dependent: :destroy
# Groups and active users
scope :active, lambda { where(status: STATUS_ACTIVE) }

@ -56,7 +56,7 @@ class Libraries::SaveService < ApplicationService
destroy_ids = old_attachment_id - attachment_ids
library.attachments.where(id: destroy_ids).delete_all
Attachment.where(id: attachment_ids, author_id: user.id).update_all(container: library)
Attachment.where(id: attachment_ids, author_id: user.id).update_all(container_type: library.class.to_s, container_id: library.id)
end
def library_params

@ -39,15 +39,10 @@ elsif @type == "mp3" || @type == "mp4"
json.file_url attachment_show_users_path(:file_name => file, :path => @original_path)
end
end
# json.user_file do
# json.array! @user_picture do |file|
# json.file_url attachment_show_users_path(:file_name => file, :path => @user_path, :time => Time.now.to_i)
# end
# end
if @type == "mp4"
json.user_file [{"file_url": "http://120.27.231.56:48080/attachments/download/378172/456.mp4"}]
else
json.user_file [{"file_url": "http://120.27.231.56:48080/attachments/download/378175/654058514.mp3"}]
json.user_file do
json.array! @user_picture do |file|
json.file_url attachment_show_users_path(:file_name => file, :path => @user_path, :time => Time.now.to_i)
end
end
json.answer_file do
json.array! @answer_picture do |file|

@ -9,6 +9,6 @@ json.memo do
json.tag memo.tag_repertoires.map(&:name)
json.time memo.created_at
json.replies_count memo.all_replies_count
json.user_praise memo.praise_treads.user_liker(@user.try(:id)).count > 1 ? true : false
json.user_praise memo.praise_treads.user_liker(@user.try(:id)).count > 0 ? true : false
json.memo_praise_count memo.praise_treads.liker.count
end

@ -1,4 +1,4 @@
json.(@subject, :id, :name, :description, :learning_notes, :stages_count, :stage_shixuns_count)
json.(@subject, :id, :name, :description, :learning_notes, :stages_count, :stage_shixuns_count, :shixuns_count)
json.challenge_choose_count @subject.subject_challenge_choose_count
json.challenges_count @subject.subject_challenge_count

@ -4,13 +4,28 @@ json.content tiding.content
json.identifier tiding.identifier
json.auth_type tiding.container_type == 'ApplyUserAuthentication' ? tiding.container.auth_type : nil
json.homework_type tiding.container_type == 'HomeworkCommon' ? tiding.container.homework_type : nil
homework_type = nil
if tiding.container_type == 'HomeworkCommon'
homework_type = tiding.container.homework_type rescue nil
end
if homework_type.blank? && tiding.parent_container_type == 'HomeworkCommon'
homework_type = tiding.parent_container.homework_type rescue nil
end
json.homework_type homework_type
json.time tiding.how_long_time
json.new_tiding tiding.unread?(@onclick_time)
json.trigger_user do
json.partial! 'users/user_simple', user: tiding.trigger_user_id.zero? ? User.find(1) : tiding.trigger_user
if tiding.trigger_user_id.zero?
json.id 0
json.name "系统"
json.login ""
json.image_url "educoder/systemLogo.png"
else
json.partial! 'users/user_simple', user: tiding.trigger_user
end
end
json.attachments tiding.attachments, partial: 'attachments/attachment_small', as: :attachment

@ -1,20 +1,20 @@
json.top do
json.shixun_url "/shixuns"
json.shixun_paths_url "#{@old_domain}/paths"
json.course_url "#{@old_domain}/courses"
json.shixun_paths_url "/paths"
json.course_url "/courses"
json.competitions_url "#{@old_domain}/competitions"
json.topic_url "#{@old_domain}/forums"
json.new_course_url "#{@old_domain}/courses/new"
json.new_shixun_url "#{@old_domain}/shixuns/new"
json.new_shixun_path_url "#{@old_domain}/paths/new"
json.topic_url "/forums"
json.new_course_url "/courses/new"
json.new_shixun_url "/shixuns/new"
json.new_shixun_path_url "/paths/new"
json.new_project_url "#{@old_domain}/projects/new"
json.join_course_url "#{@old_domain}/courses/join_course_multi_role"
json.join_course_url "/courses/join_course_multi_role"
json.join_project_url "#{@old_domain}/applied_project/applied_project_info"
json.message_url "#{@old_domain}#{@user_url}/user_tidings"
json.message_url "#{@user_url}/user_tidings"
json.new_message @new_message
json.moop_cases_url "#{@old_domain}/moop_cases"
json.crowdsourcing_url "#{@old_domain}/crowdsourcing"
json.crowdsourcing_url "/crowdsourcing"
json.career_url do
json.array! @career.to_a do |c|

@ -38,8 +38,8 @@
Apply_end: "申请添加单位:%s"
System:
"1_end": "你提交的添加单位申请:%{name},审核已通过"
"2_reason_end": "你提交的添加单位申请:%{name},审核未通过<br/><span>原因:%{reason}</span>"
"2_no_reason_end": "你提交的添加单位申请:%{name},审核未通过"
"2_false_end": "你提交的添加单位申请:%{name},审核未通过<br/><span>原因:%{reason}</span>"
"2_true_end": "你提交的添加单位申请:%{name},审核未通过"
"3_end": "你提交的添加单位申请:%{name},已被更改为:%{reason}"
ApplyAction:
ApplyShixun:
@ -57,11 +57,11 @@
"1_end": "你提交的试用授权申请,审核已通过"
"2_end": "你提交的试用授权申请,审核未通过<br/><span>原因:%{reason}</span>"
Apply_end: "提交了试用授权申请"
Course_end: "成功创建了课堂:%s"
Course_end: "创建了课堂:%s"
Course:
Delete_end: "你删除了课堂:%s"
Shixun_end: "成功创建了实训:%s"
Subject_end: "成功创建了实训课程:%s"
Shixun_end: "创建了实训:%s"
Subject_end: "创建了实训课程:%s"
ArchiveCourse_end: "你的课堂已经归档:%s"
JournalsForMessage:
Mentioned_end: "@了你:%s"
@ -164,7 +164,7 @@
NearlyEnd_end: "试卷的截止时间快到啦:%s"
CommitExercise_end: "提交了试卷答题:%s"
ExerciseScore_end: "评阅了你的试卷:%s"
StudentGraduationTopic_end: "选择毕设选题:%s"
StudentGraduationTopic_end: "申请选择毕设选题:%s"
DealStudentTopicSelect:
1_end: "你提交的选题申请:%s审核已通过"
2_end: "你提交的选题申请:%s审核未通过"
@ -195,14 +195,14 @@
ChallengeWorkScore_end: "调整了你的作品分数:%s"
StudentWorksScoresAppeal:
UserAppealResult:
1_end: "同意了你提交的匿评申诉申请:%s"
2_end: "拒绝了你提交的匿评申诉:%s"
1_end: "你提交的匿评申诉申请:%s,审核已通过"
2_end: "你提交的匿评申诉:%s,审核未通过"
AppealResult:
1_end: "同意了他人对你的匿评申诉申请:%s"
2_end: "拒绝了他人对你的匿评申诉:%s"
1_end: "别人对你的匿评发起的申诉申请:%s审核已通过"
2_end: "别人对你的匿评发起的申诉申请:%s审核未通过"
StudentWork:
Apply_end: "发起了匿评申诉申请:%s"
HomeworkCommon_end: "有人对你的匿评发起了申诉:%s"
System_end: "有人对你的匿评发起了申诉:%s"
Department_end: "你选填的二级单位:%s%s因不符合规范,已被系统删除.请重新选择"
Library:
Apply_end: "申请发布教学案例:%s"

@ -1,7 +0,0 @@
class AddIndexToUser < ActiveRecord::Migration[5.2]
def change
# add_index :users, :login, unique: true
# add_index :users, :mail, unique: true
# add_index :users, :phone, unique: true
end
end

@ -1,10 +1,10 @@
class AddPraisesCountToLibraries < ActiveRecord::Migration[5.2]
def change
add_column :libraries, :praises_count, :integer, :default => 0
Library.find_each do |library|
praises_count = library.praise_treads.count
library.update_column(:praises_count, praises_count)
end
# add_column :libraries, :praises_count, :integer, :default => 0
#
# Library.find_each do |library|
# praises_count = library.praise_treads.count
# library.update_column(:praises_count, praises_count)
# end
end
end

@ -0,0 +1,5 @@
class TranferTidingData < ActiveRecord::Migration[5.2]
def change
Tiding.where(container_type: 'ApplyAddSchool').update_all(container_type: 'ApplyAddSchools')
end
end

@ -0,0 +1,7 @@
class SyncIndexToUsers < ActiveRecord::Migration[5.2]
def change
add_index :users, :login, unique: true
add_index :users, :mail, unique: true
add_index :users, :phone, unique: true
end
end

@ -0,0 +1,51 @@
class ModifyKeContentsForMarkdown < ActiveRecord::Migration[5.2]
include ActionView::Helpers::SanitizeHelper
def change
# def ke_transform_to_md content
# return content if content.blank?
# s_contents = sanitize(content, tags: %w(img a table td tr tbody pre), attributes: %w(src href target style))
# s_contents.gsub(">\n<", "><").gsub(/^\n/, "").gsub(" ", "").gsub(/(\n)+/, "<br />")
# .gsub("\t", "").gsub("\n", "").gsub(" ", "&nbsp;&nbsp;&nbsp;&nbsp;").gsub(/(<br\s?\/?>)+/, "<br />")
# s_contents.gsub("\n", "<br />").gsub(/(<br\s?\/?>)+/, "<br />")
# end
#
# # 课程讨论区
# MessageDetail.find_each do |m|
# content = ke_transform_to_md m.content
# m.update_column(:content, content)
# end
#试卷的标题
# ExerciseQuestion.where(:exercise_id => 1892).find_each do |eq|
# puts("#eq.question_title: #{eq.question_title}")
# question_title = ke_transform_to_md eq.question_title
# puts("#question_title: #{question_title}")
# eq.update_column(:question_title, question_title)
# end
# # 试卷的答案
# ExerciseStandardAnswer.find_each do |esa|
# answer_text = ke_transform_to_md esa.answer_text
# esa.update_column(:answer_text, answer_text)
# end
#
# 试卷题库的问题标题
# ExerciseBankQuestion.find_each do |ebq|
# question_title = ke_transform_to_md ebq.question_title
# ebq.update_column(:question_title, question_title)
# end
#
# # 试卷答案
# ExerciseBankStandardAnswer.find_each do |ebsa|
# answer_text = ke_transform_to_md ebsa.answer_text
# ebsa.update_column(:answer_text, answer_text)
# end
# # 问卷的标题
# PollQuestion.find_each do |pq|
# question_title = ke_transform_to_md pq.question_title
# pq.update_column(:question_title, question_title)
# end
end
end

@ -0,0 +1,6 @@
class MigrateAnonymousTidingType < ActiveRecord::Migration[5.2]
def change
Tiding.where(container_type: "StudentWorksScore", extra: "3").update_all(tiding_type: "System", trigger_user_id: 0)
Tiding.where(container_type: "StudentWorksScoresAppeal", parent_container_type: "StudentWork", tiding_type: "HomeworkCommon").update_all(tiding_type: "System", trigger_user_id: 0)
end
end

@ -0,0 +1,7 @@
class AddExecTimeToEvaluateRecords < ActiveRecord::Migration[5.2]
def change
# remove_columns :evaluate_records, :exec_time if EvaluateRecord.first.attributes.include?("exec_time")
#
# add_column :evaluate_records, :exec_time, :integer
end
end

@ -0,0 +1,64 @@
class SecondMofidyKeContentsForMd < ActiveRecord::Migration[5.2]
include ActionView::Helpers::SanitizeHelper
def change
# def ke_transform_to_md content
# return content if content.blank?
# s_contents = sanitize(content, tags: %w(img a span table td tr tbody pre), attributes: %w(src href target style))
# s_contents.gsub(">\n<", "><").gsub(/^\n/, "").gsub(" ", "&nbsp;").gsub(/(\n)+/, "<br />")
# .gsub("\t", "&nbsp;&nbsp;&nbsp;&nbsp;").gsub("\n", "").gsub(" ", "&nbsp;").gsub(/(<br\s?\/?>)+/, "<br />")
#
# end
#
# # 作业
# HomeworkCommon.find_each do |hc|
# description = ke_transform_to_md hc.description
# reference_answer = ke_transform_to_md hc.reference_answer
# explanation = ke_transform_to_md hc.explanation
# hc.update_attributes(description: description, reference_answer: reference_answer, explanation: explanation)
# end
#
# # 作业题库
# HomeworkBank.find_each do |hb|
# description = ke_transform_to_md hb.description
# reference_answer = ke_transform_to_md hb.reference_answer
# hb.update_attributes(description: description, reference_answer: reference_answer)
# end
#
# # 毕业任务
# GraduationTask.find_each do |gt|
# description = ke_transform_to_md gt.description
# gt.update_column(:description, description)
# end
#
# # 毕设选题
# GraduationTopic.find_each do |gt|
# description = ke_transform_to_md gt.description
# gt.update_column(:description, description)
# end
#
# # 毕设作品
# GraduationWork.find_each do |gw|
# description = ke_transform_to_md gw.description
# gw.update_column(:description, description)
# end
#
# # 毕设任务题库
# GtaskBank.find_each do |gb|
# description = ke_transform_to_md gb.description
# gb.update_column(:description, description)
# end
#
# # 毕设选题题库
# GtopicBank.find_each do |gb|
# description = ke_transform_to_md gb.description
# gb.update_column(:description, description)
# end
#
# # 交流问答
# Memo.find_each do |m|
# content = ke_transform_to_md m.content
# m.update_column(:content, content)
# end
end
end

@ -0,0 +1,17 @@
class ThirdModifyKeForStudentWork < ActiveRecord::Migration[5.2]
include ActionView::Helpers::SanitizeHelper
def change
# def ke_transform_to_md content
# return content if content.blank?
# s_contents = sanitize(content, tags: %w(img a span table td tr tbody pre), attributes: %w(src href target style))
# s_contents.gsub(">\n<", "><").gsub(/^\n/, "").gsub(" ", "&nbsp;").gsub(/(\n)+/, "<br />")
# .gsub("\t", "&nbsp;&nbsp;&nbsp;&nbsp;").gsub("\n", "").gsub(" ", "&nbsp;").gsub(/(<br\s?\/?>)+/, "<br />")
# end
#
# # 学生的作品 过滤掉一些描述的ke图片的作品
# StudentWork.where("description is not null and LENGTH(description) < 1000000").find_each do |sw|
# description = ke_transform_to_md sw.description
# sw.update_column(:description, description)
# end
end
end

@ -0,0 +1,27 @@
namespace :myshixun do
task check_reponame: :environment do
# 如果是选择题的则跳过否则reponame 为空的则为异常
myshixuns = Myshixun.where("repo_name is null and created_at > '2019-07-20 00:00:00'")
myshixuns.each do |myshixun|
shixun = myshixun.shixun
challenges = shixun.challenges
# 不是纯选择题的情况
if challenges.select{|challenge| challenge.st.to_i == 0}.size > 0
puts myshixun.games.first.try(:identifier)
end
end
end
task choose_repo: :environment do
myshixuns = Myshixun.where("repo_name is null and created_at > '2019-07-20 00:00:00'")
myshixuns.each do |myshixun|
shixun = myshixun.shixun
challenges = shixun.challenges
# 如果是选择题则把myshixuns表的repo_name改成-1
if challenges.select{|challenge| challenge.st.to_i == 1}.size == challenges.count
myshixun.update_attributes(:repo_name => "-1")
end
end
end
end

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="RUBY_MODULE" version="4">
<component name="ModuleRunConfigurationManager">
<shared />
</component>
<component name="NewModuleRootManager">
<content url="file://$USER_HOME$/eduplus2/public/admin/Coco" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding" addBOMForNewFiles="with NO BOM" />
</project>

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="JavaScriptSettings">
<option name="languageLevel" value="ES6" />
</component>
<component name="ProjectRootManager" version="2" project-jdk-name="ruby-2.3.7-p456" project-jdk-type="RUBY_SDK" />
</project>

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/Coco.iml" filepath="$PROJECT_DIR$/.idea/Coco.iml" />
</modules>
</component>
</project>

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$/../.." vcs="Git" />
</component>
</project>

@ -0,0 +1,492 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ChangeListManager">
<list default="true" id="bbfdfebc-59ed-4b64-8f87-8e0b450714d6" name="Default Changelist" comment="">
<change beforePath="$PROJECT_DIR$/404.html" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/500.html" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/advanced-forms.html" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/alerts.html" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/css/style-responsive.css" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/css/style.css" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/img/apple-touch-icon-114x114.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/img/apple-touch-icon-120x120.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/img/apple-touch-icon-144x144.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/img/apple-touch-icon-152x152.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/img/apple-touch-icon-57x57.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/img/apple-touch-icon-72x72.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/img/apple-touch-icon-76x76.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/img/apple-touch-icon.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/img/favicon.ico" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/img/gmap/m1.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/img/gmap/m2.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/img/gmap/m3.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/img/inv-logo.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/img/login-logo.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/img/logo.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/js/apps/calculator.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/js/apps/notes.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/js/apps/todo.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/js/init.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/js/pages/advanced-forms.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/js/pages/calendar.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/js/pages/datatables.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/js/pages/form-validation.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/js/pages/form-wizard.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/js/pages/forms.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/js/pages/google-maps.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/js/pages/index.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/js/pages/index2.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/js/pages/lockscreen.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/js/pages/morris-charts.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/js/pages/nested-list.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/js/pages/new-message.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/js/pages/notifications.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/js/pages/other-charts.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/js/pages/rickshaw-charts.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/js/pages/sparkline-charts.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/js/pages/tabs-accordions.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/js/pages/vector-maps.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/animate-css/animate.min.css" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/bootstrap-bootbox/bootbox.min.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/bootstrap-calendar/css/bic_calendar.css" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/bootstrap-calendar/js/bic_calendar.min.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/bootstrap-datepicker/css/datepicker.css" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/bootstrap-datepicker/js/bootstrap-datepicker.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/bootstrap-fileinput/bootstrap.file-input.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/bootstrap-inputmask/inputmask.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/bootstrap-select/bootstrap-select.min.css" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/bootstrap-select/bootstrap-select.min.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/bootstrap-select2/select2-spinner.gif" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/bootstrap-select2/select2.css" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/bootstrap-select2/select2.min.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/bootstrap-select2/select2.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/bootstrap-typeahead/bootstrap3-typeahead.min.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/bootstrap-validator/css/bootstrapValidator.min.css" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/bootstrap-validator/js/bootstrapValidator.min.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/bootstrap-xeditable/css/bootstrap-editable.css" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/bootstrap-xeditable/demo/demo-mock.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/bootstrap-xeditable/demo/jquery.mockjax.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/bootstrap-xeditable/img/clear.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/bootstrap-xeditable/img/loading.gif" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/bootstrap-xeditable/js/bootstrap-editable.min.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/bootstrap/css/bootstrap.min.css" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/bootstrap/fonts/glyphicons-halflings-regular.eot" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/bootstrap/fonts/glyphicons-halflings-regular.svg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/bootstrap/fonts/glyphicons-halflings-regular.ttf" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/bootstrap/fonts/glyphicons-halflings-regular.woff" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/bootstrap/js/bootstrap.min.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/ckeditor/adapters/jquery.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/ckeditor/ckeditor.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/d3/d3.v3.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/dropzone/css/dropzone.css" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/dropzone/dropzone.min.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/dropzone/images/spritemap.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/dropzone/images/spritemap@2x.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/fastclick/fastclick.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/font-awesome/css/font-awesome.min.css" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/font-awesome/fonts/FontAwesome.otf" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/font-awesome/fonts/fontawesome-webfont.eot" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/font-awesome/fonts/fontawesome-webfont.svg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/font-awesome/fonts/fontawesome-webfont.ttf" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/font-awesome/fonts/fontawesome-webfont.woff" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/fontello/css/fontello.css" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/fullcalendar/fullcalendar.css" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/fullcalendar/fullcalendar.min.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/ios7-switch/ios7-switch.css" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/ios7-switch/ios7.switch.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-animate-numbers/jquery.animateNumbers.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-blockui/jquery.blockUI.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-clndr/moment-2.5.1.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-clock/clock.css" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-clock/clock.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-datatables/css/dataTables.bootstrap.css" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-datatables/extensions/TableTools/css/dataTables.tableTools.css" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-datatables/extensions/TableTools/images/background.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-datatables/extensions/TableTools/images/collection.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-datatables/extensions/TableTools/images/collection_hover.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-datatables/extensions/TableTools/js/dataTables.tableTools.min.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-datatables/images/sort_asc.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-datatables/images/sort_asc_disabled.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-datatables/images/sort_both.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-datatables/images/sort_desc.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-datatables/images/sort_desc_disabled.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-datatables/js/dataTables.bootstrap.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-datatables/js/jquery.dataTables.min.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-detectmobile/detect.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-easypiechart/jquery.easy-pie-chart.css" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-easypiechart/jquery.easypiechart.min.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-gmap3/gmap3.min.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/icheck.min.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/all.css" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/flat/_all.css" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/flat/aero.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/flat/aero@2x.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/flat/blue.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/flat/blue@2x.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/flat/flat.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/flat/flat@2x.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/flat/green.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/flat/green@2x.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/flat/grey.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/flat/grey@2x.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/flat/orange.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/flat/orange@2x.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/flat/pink.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/flat/pink@2x.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/flat/purple.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/flat/purple@2x.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/flat/red.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/flat/red@2x.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/flat/yellow.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/flat/yellow@2x.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/futurico/futurico.css" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/futurico/futurico.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/futurico/futurico@2x.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/line/_all.css" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/line/line.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/line/line@2x.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/minimal/_all.css" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/minimal/aero.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/minimal/aero@2x.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/minimal/blue.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/minimal/blue@2x.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/minimal/green.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/minimal/green@2x.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/minimal/grey.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/minimal/grey@2x.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/minimal/minimal.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/minimal/minimal@2x.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/minimal/orange.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/minimal/orange@2x.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/minimal/pink.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/minimal/pink@2x.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/minimal/purple.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/minimal/purple@2x.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/minimal/red.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/minimal/red@2x.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/minimal/yellow.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/minimal/yellow@2x.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/polaris/polaris.css" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/polaris/polaris.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/polaris/polaris@2x.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/square/_all.css" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/square/aero.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/square/aero@2x.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/square/blue.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/square/blue@2x.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/square/green.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/square/green@2x.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/square/grey.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/square/grey@2x.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/square/orange.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/square/orange@2x.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/square/pink.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/square/pink@2x.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/square/purple.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/square/purple@2x.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/square/red.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/square/red@2x.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/square/square.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/square/square@2x.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/square/yellow.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-icheck/skins/square/yellow@2x.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-jvectormap/css/jquery-jvectormap-1.2.2.css" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-jvectormap/js/jquery-jvectormap-1.2.2.min.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-jvectormap/js/jquery-jvectormap-europe-mill-en.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-jvectormap/js/jquery-jvectormap-uk-mill-en.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-jvectormap/js/jquery-jvectormap-us-aea-en.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-jvectormap/js/jquery-jvectormap-us-il-chicago-mill-en.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-jvectormap/js/jquery-jvectormap-world-mill-en.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-knob/jquery.knob.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-knob/jquery.knob.min.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-nestable/jquery.nestable.css" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-nestable/jquery.nestable.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-notifyjs/notify.min.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-notifyjs/styles/metro/notify-metro.css" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-notifyjs/styles/metro/notify-metro.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-slimscroll/jquery.slimscroll.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-sparkline/jquery-sparkline.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-ui-touch/jquery.ui.touch-punch.min.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-weather/artill_clean_icons-webfont.eot" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-weather/artill_clean_icons-webfont.svg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-weather/artill_clean_icons-webfont.ttf" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-weather/artill_clean_icons-webfont.woff" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-weather/jquery.simpleWeather-2.6.min.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-weather/simpleweather.css" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery-wizard/jquery.easyWizard.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jquery/jquery-1.11.1.min.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jqueryui/jquery-ui-1.10.4.custom.min.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jqueryui/ui-lightness/images/animated-overlay.gif" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jqueryui/ui-lightness/images/ui-icons_222222_256x240.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jqueryui/ui-lightness/images/ui-icons_ffffff_256x240.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/jqueryui/ui-lightness/jquery-ui-1.10.4.custom.min.css" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/magnific-popup/jquery.magnific-popup.min.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/magnific-popup/magnific-popup.css" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/morrischart/morris.css" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/morrischart/morris.min.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/nifty-modal/css/component.css" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/nifty-modal/js/classie.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/nifty-modal/js/modalEffects.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/pace/pace.css" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/pace/pace.min.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/prettify/github.css" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/prettify/prettify.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/raphael/raphael-min.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/rickshaw/rickshaw.min.css" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/rickshaw/rickshaw.min.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/sortable/sortable-theme-bootstrap.css" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/sortable/sortable.min.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/summernote/summernote.css" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/libs/summernote/summernote.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/blank.html" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/buttons.html" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/calendar.html" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/datatables.html" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/form-uploads.html" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/form-validation.html" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/form-wizard.html" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/forms.html" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/gallery.html" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/google-maps.html" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/grid.html" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/icons.html" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/images/big/img001.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/images/big/img002.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/images/big/img003.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/images/big/img004.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/images/big/img005.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/images/big/img006.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/images/big/img007.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/images/big/img008.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/images/big/img009.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/images/big/img010.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/images/small/img001_small.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/images/small/img002_small.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/images/small/img003_small.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/images/small/img004_small.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/images/small/img005_small.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/images/small/img006_small.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/images/small/img007_small.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/images/small/img008_small.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/images/small/img009_small.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/images/small/img010_small.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/images/stock/1epgUO0.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/images/users/chat/1.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/images/users/chat/19.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/images/users/chat/2.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/images/users/chat/3.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/images/users/chat/4.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/images/users/chat/5.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/images/users/chat/6.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/images/users/default-user.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/images/users/user-100.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/images/users/user-256.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/images/users/user-35.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/images/weather/weather-bg.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/inbox.html" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/index.html" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/index2.html" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/invoice.html" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/lockscreen.html" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/login.html" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/maintenance.html" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/modals.html" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/morris-charts.html" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/nested-list.html" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/new-message.html" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/notifications.html" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/other-charts.html" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/portlets.html" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/profile.html" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/progress-bars.html" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/read-message.html" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/register.html" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/rickshaw-charts.html" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/screenshot.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/sparkline-charts.html" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/tables.html" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/tabs-accordions.html" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/typography.html" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/vector-maps.html" beforeDir="false" />
</list>
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
<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="FileEditorManager">
<leaf>
<file pinned="false" current-in-tab="false">
<entry file="file://$USER_HOME$/eduplus2/public/admin/Coco/404.html">
<provider selected="true" editor-type-id="text-editor" />
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$USER_HOME$/eduplus2/public/admin/Coco/login.html">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="375">
<caret line="20" column="26" selection-start-line="20" selection-start-column="20" selection-end-line="20" selection-end-column="26" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$USER_HOME$/eduplus2/public/admin/Coco/sparkline-charts.html">
<provider selected="true" editor-type-id="text-editor" />
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$USER_HOME$/eduplus2/public/admin/Coco/tables.html">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-931" />
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="true">
<entry file="file://$USER_HOME$/eduplus2/public/admin/Coco/other-charts.html">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-1318">
<caret line="29" column="38" selection-start-line="29" selection-start-column="38" selection-end-line="29" selection-end-column="38" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$USER_HOME$/eduplus2/public/admin/Coco/invoice.html">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-1024" />
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$USER_HOME$/eduplus2/public/admin/Coco/lockscreen.html">
<provider selected="true" editor-type-id="text-editor" />
</entry>
</file>
</leaf>
</component>
<component name="Git.Settings">
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$/../.." />
</component>
<component name="JsFlowSettings">
<service-enabled>true</service-enabled>
<exe-path />
<other-services-enabled>true</other-services-enabled>
<auto-save>true</auto-save>
</component>
<component name="ProjectFrameBounds" extendedState="6">
<option name="x" value="190" />
<option name="y" value="103" />
<option name="width" value="1440" />
<option name="height" value="810" />
</component>
<component name="ProjectLevelVcsManager" settingsEditedManually="true" />
<component name="ProjectView">
<navigator proportions="" version="1">
<foldersAlwaysOnTop value="true" />
</navigator>
<panes>
<pane id="ProjectPane" />
<pane id="Scope" />
</panes>
</component>
<component name="PropertiesComponent">
<property name="WebServerToolWindowFactoryState" value="false" />
<property name="last_opened_file_path" value="$PROJECT_DIR$" />
<property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
<property name="nodejs_npm_path_reset_for_default_project" value="true" />
<property name="settings.editor.selected.configurable" value="Settings.JavaScript" />
</component>
<component name="RunDashboard">
<option name="ruleStates">
<list>
<RuleState>
<option name="name" value="ConfigurationTypeDashboardGroupingRule" />
</RuleState>
<RuleState>
<option name="name" value="StatusDashboardGroupingRule" />
</RuleState>
</list>
</option>
</component>
<component name="SvnConfiguration">
<configuration />
</component>
<component name="TaskManager">
<task active="true" id="Default" summary="Default task">
<changelist id="bbfdfebc-59ed-4b64-8f87-8e0b450714d6" name="Default Changelist" comment="" />
<created>1564991764284</created>
<option name="number" value="Default" />
<option name="presentableId" value="Default" />
<updated>1564991764284</updated>
<workItem from="1564991765742" duration="1047000" />
</task>
<servers />
</component>
<component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="1047000" />
</component>
<component name="ToolWindowManager">
<frame x="0" y="23" width="1440" height="810" extended-state="6" />
<layout>
<window_info id="Favorites" side_tool="true" />
<window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.14306152" />
<window_info id="Structure" order="1" side_tool="true" weight="0.25" />
<window_info anchor="bottom" id="Docker" show_stripe_button="false" />
<window_info anchor="bottom" id="Database Changes" />
<window_info anchor="bottom" id="Version Control" />
<window_info active="true" anchor="bottom" id="Terminal" visible="true" weight="0.3286908" />
<window_info anchor="bottom" id="Event Log" side_tool="true" />
<window_info anchor="bottom" id="Message" order="0" />
<window_info anchor="bottom" id="Find" order="1" />
<window_info anchor="bottom" id="Run" order="2" />
<window_info anchor="bottom" id="Debug" order="3" weight="0.4" />
<window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
<window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
<window_info anchor="bottom" id="TODO" order="6" />
<window_info anchor="right" id="Database" />
<window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
<window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
<window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
</layout>
</component>
<component name="TypeScriptGeneratedFilesManager">
<option name="version" value="1" />
</component>
<component name="editorHistoryManager">
<entry file="file://$USER_HOME$/eduplus2/public/admin/Coco/404.html">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$USER_HOME$/eduplus2/public/admin/Coco/invoice.html">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-1024" />
</provider>
</entry>
<entry file="file://$USER_HOME$/eduplus2/public/admin/Coco/lockscreen.html">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$USER_HOME$/eduplus2/public/admin/Coco/login.html">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="375">
<caret line="20" column="26" selection-start-line="20" selection-start-column="20" selection-end-line="20" selection-end-column="26" />
</state>
</provider>
</entry>
<entry file="file://$USER_HOME$/eduplus2/public/admin/Coco/sparkline-charts.html">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$USER_HOME$/eduplus2/public/admin/Coco/tables.html">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-931" />
</provider>
</entry>
<entry file="file://$USER_HOME$/eduplus2/public/admin/Coco/other-charts.html">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-1318">
<caret line="29" column="38" selection-start-line="29" selection-start-column="38" selection-end-line="29" selection-end-column="38" />
</state>
</provider>
</entry>
</component>
</project>

@ -0,0 +1,156 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>404 Not Found | Coco - Responsive Bootstrap Admin Template</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="description" content="">
<meta name="keywords" content="coco bootstrap template, coco admin, bootstrap,admin template, bootstrap admin,">
<meta name="author" content="Huban Creative">
<!-- Base Css Files -->
<link href="assets/libs/jqueryui/ui-lightness/jquery-ui-1.10.4.custom.min.css" rel="stylesheet" />
<link href="assets/libs/bootstrap/css/bootstrap.min.css" rel="stylesheet" />
<link href="assets/libs/font-awesome/css/font-awesome.min.css" rel="stylesheet" />
<link href="assets/libs/fontello/css/fontello.css" rel="stylesheet" />
<link href="assets/libs/animate-css/animate.min.css" rel="stylesheet" />
<link href="assets/libs/nifty-modal/css/component.css" rel="stylesheet" />
<link href="assets/libs/magnific-popup/magnific-popup.css" rel="stylesheet" />
<link href="assets/libs/ios7-switch/ios7-switch.css" rel="stylesheet" />
<link href="assets/libs/pace/pace.css" rel="stylesheet" />
<link href="assets/libs/sortable/sortable-theme-bootstrap.css" rel="stylesheet" />
<link href="assets/libs/bootstrap-datepicker/css/datepicker.css" rel="stylesheet" />
<link href="assets/libs/jquery-icheck/skins/all.css" rel="stylesheet" />
<!-- Code Highlighter for Demo -->
<link href="assets/libs/prettify/github.css" rel="stylesheet" />
<!-- Extra CSS Libraries Start -->
<link href="assets/css/style.css" rel="stylesheet" type="text/css" />
<!-- Extra CSS Libraries End -->
<link href="assets/css/style-responsive.css" rel="stylesheet" />
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
<![endif]-->
<link rel="shortcut icon" href="assets/img/favicon.ico">
<link rel="apple-touch-icon" href="assets/img/apple-touch-icon.png" />
<link rel="apple-touch-icon" sizes="57x57" href="assets/img/apple-touch-icon-57x57.png" />
<link rel="apple-touch-icon" sizes="72x72" href="assets/img/apple-touch-icon-72x72.png" />
<link rel="apple-touch-icon" sizes="76x76" href="assets/img/apple-touch-icon-76x76.png" />
<link rel="apple-touch-icon" sizes="114x114" href="assets/img/apple-touch-icon-114x114.png" />
<link rel="apple-touch-icon" sizes="120x120" href="assets/img/apple-touch-icon-120x120.png" />
<link rel="apple-touch-icon" sizes="144x144" href="assets/img/apple-touch-icon-144x144.png" />
<link rel="apple-touch-icon" sizes="152x152" href="assets/img/apple-touch-icon-152x152.png" />
</head>
<body class="fixed-left full-content">
<!-- Modal Start -->
<!-- Modal Task Progress -->
<div class="md-modal md-3d-flip-vertical" id="task-progress">
<div class="md-content">
<h3><strong>Task Progress</strong> Information</h3>
<div>
<p>CLEANING BUGS</p>
<div class="progress progress-xs for-modal">
<div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="80" aria-valuemin="0" aria-valuemax="100" style="width: 80%">
<span class="sr-only">80&#37; Complete</span>
</div>
</div>
<p>POSTING SOME STUFF</p>
<div class="progress progress-xs for-modal">
<div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="80" aria-valuemin="0" aria-valuemax="100" style="width: 65%">
<span class="sr-only">65&#37; Complete</span>
</div>
</div>
<p>BACKUP DATA FROM SERVER</p>
<div class="progress progress-xs for-modal">
<div class="progress-bar progress-bar-info" role="progressbar" aria-valuenow="80" aria-valuemin="0" aria-valuemax="100" style="width: 95%">
<span class="sr-only">95&#37; Complete</span>
</div>
</div>
<p>RE-DESIGNING WEB APPLICATION</p>
<div class="progress progress-xs for-modal">
<div class="progress-bar progress-bar-primary" role="progressbar" aria-valuenow="80" aria-valuemin="0" aria-valuemax="100" style="width: 100%">
<span class="sr-only">100&#37; Complete</span>
</div>
</div>
<p class="text-center">
<button class="btn btn-danger btn-sm md-close">Close</button>
</p>
</div>
</div>
</div>
<!-- Modal Logout -->
<div class="md-modal md-just-me" id="logout-modal">
<div class="md-content">
<h3><strong>Logout</strong> Confirmation</h3>
<div>
<p class="text-center">Are you sure want to logout from this awesome system?</p>
<p class="text-center">
<button class="btn btn-danger md-close">Nope!</button>
<a href="login.html" class="btn btn-success md-close">Yeah, I'm sure</a>
</p>
</div>
</div>
</div> <!-- Modal End -->
<!-- Begin page -->
<div class="container">
<div class="full-content-center animated flipInX">
<h1>404</h1>
<h2>The page you are looking for is definitely not this!</h2><br>
<p class="text-lightblue-2">You better try our awesome search:</p>
<div class="row">
<div class="icon-added input-group col-sm-8 col-sm-offset-2">
<i class="fa fa-search"></i>
<input type="text" class="form-control">
<span class="input-group-btn">
<button class="btn btn-success" type="button">Search</button>
</span>
</div>
</div><br>
<a class="btn btn-primary btn-sm" href="index.html"><i class="fa fa-angle-left"></i> Back to Dashboard</a>
</div>
</div>
<!-- End of page -->
<!-- the overlay modal element -->
<div class="md-overlay"></div>
<!-- End of eoverlay modal -->
<script>
var resizefunc = [];
</script>
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="assets/libs/jquery/jquery-1.11.1.min.js"></script>
<script src="assets/libs/bootstrap/js/bootstrap.min.js"></script>
<script src="assets/libs/jqueryui/jquery-ui-1.10.4.custom.min.js"></script>
<script src="assets/libs/jquery-ui-touch/jquery.ui.touch-punch.min.js"></script>
<script src="assets/libs/jquery-detectmobile/detect.js"></script>
<script src="assets/libs/jquery-animate-numbers/jquery.animateNumbers.js"></script>
<script src="assets/libs/ios7-switch/ios7.switch.js"></script>
<script src="assets/libs/fastclick/fastclick.js"></script>
<script src="assets/libs/jquery-blockui/jquery.blockUI.js"></script>
<script src="assets/libs/bootstrap-bootbox/bootbox.min.js"></script>
<script src="assets/libs/jquery-slimscroll/jquery.slimscroll.js"></script>
<script src="assets/libs/jquery-sparkline/jquery-sparkline.js"></script>
<script src="assets/libs/nifty-modal/js/classie.js"></script>
<script src="assets/libs/nifty-modal/js/modalEffects.js"></script>
<script src="assets/libs/sortable/sortable.min.js"></script>
<script src="assets/libs/bootstrap-fileinput/bootstrap.file-input.js"></script>
<script src="assets/libs/bootstrap-select/bootstrap-select.min.js"></script>
<script src="assets/libs/bootstrap-select2/select2.min.js"></script>
<script src="assets/libs/magnific-popup/jquery.magnific-popup.min.js"></script>
<script src="assets/libs/pace/pace.min.js"></script>
<script src="assets/libs/bootstrap-datepicker/js/bootstrap-datepicker.js"></script>
<script src="assets/libs/jquery-icheck/icheck.min.js"></script>
<!-- Demo Specific JS Libraries -->
<script src="assets/libs/prettify/prettify.js"></script>
<script src="assets/js/init.js"></script>
</body>
</html>

@ -0,0 +1,156 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>500 Internal Server Error | Coco - Responsive Bootstrap Admin Template</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="description" content="">
<meta name="keywords" content="coco bootstrap template, coco admin, bootstrap,admin template, bootstrap admin,">
<meta name="author" content="Huban Creative">
<!-- Base Css Files -->
<link href="assets/libs/jqueryui/ui-lightness/jquery-ui-1.10.4.custom.min.css" rel="stylesheet" />
<link href="assets/libs/bootstrap/css/bootstrap.min.css" rel="stylesheet" />
<link href="assets/libs/font-awesome/css/font-awesome.min.css" rel="stylesheet" />
<link href="assets/libs/fontello/css/fontello.css" rel="stylesheet" />
<link href="assets/libs/animate-css/animate.min.css" rel="stylesheet" />
<link href="assets/libs/nifty-modal/css/component.css" rel="stylesheet" />
<link href="assets/libs/magnific-popup/magnific-popup.css" rel="stylesheet" />
<link href="assets/libs/ios7-switch/ios7-switch.css" rel="stylesheet" />
<link href="assets/libs/pace/pace.css" rel="stylesheet" />
<link href="assets/libs/sortable/sortable-theme-bootstrap.css" rel="stylesheet" />
<link href="assets/libs/bootstrap-datepicker/css/datepicker.css" rel="stylesheet" />
<link href="assets/libs/jquery-icheck/skins/all.css" rel="stylesheet" />
<!-- Code Highlighter for Demo -->
<link href="assets/libs/prettify/github.css" rel="stylesheet" />
<!-- Extra CSS Libraries Start -->
<link href="assets/css/style.css" rel="stylesheet" type="text/css" />
<!-- Extra CSS Libraries End -->
<link href="assets/css/style-responsive.css" rel="stylesheet" />
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
<![endif]-->
<link rel="shortcut icon" href="assets/img/favicon.ico">
<link rel="apple-touch-icon" href="assets/img/apple-touch-icon.png" />
<link rel="apple-touch-icon" sizes="57x57" href="assets/img/apple-touch-icon-57x57.png" />
<link rel="apple-touch-icon" sizes="72x72" href="assets/img/apple-touch-icon-72x72.png" />
<link rel="apple-touch-icon" sizes="76x76" href="assets/img/apple-touch-icon-76x76.png" />
<link rel="apple-touch-icon" sizes="114x114" href="assets/img/apple-touch-icon-114x114.png" />
<link rel="apple-touch-icon" sizes="120x120" href="assets/img/apple-touch-icon-120x120.png" />
<link rel="apple-touch-icon" sizes="144x144" href="assets/img/apple-touch-icon-144x144.png" />
<link rel="apple-touch-icon" sizes="152x152" href="assets/img/apple-touch-icon-152x152.png" />
</head>
<body class="fixed-left full-content internal-error">
<!-- Modal Start -->
<!-- Modal Task Progress -->
<div class="md-modal md-3d-flip-vertical" id="task-progress">
<div class="md-content">
<h3><strong>Task Progress</strong> Information</h3>
<div>
<p>CLEANING BUGS</p>
<div class="progress progress-xs for-modal">
<div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="80" aria-valuemin="0" aria-valuemax="100" style="width: 80%">
<span class="sr-only">80&#37; Complete</span>
</div>
</div>
<p>POSTING SOME STUFF</p>
<div class="progress progress-xs for-modal">
<div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="80" aria-valuemin="0" aria-valuemax="100" style="width: 65%">
<span class="sr-only">65&#37; Complete</span>
</div>
</div>
<p>BACKUP DATA FROM SERVER</p>
<div class="progress progress-xs for-modal">
<div class="progress-bar progress-bar-info" role="progressbar" aria-valuenow="80" aria-valuemin="0" aria-valuemax="100" style="width: 95%">
<span class="sr-only">95&#37; Complete</span>
</div>
</div>
<p>RE-DESIGNING WEB APPLICATION</p>
<div class="progress progress-xs for-modal">
<div class="progress-bar progress-bar-primary" role="progressbar" aria-valuenow="80" aria-valuemin="0" aria-valuemax="100" style="width: 100%">
<span class="sr-only">100&#37; Complete</span>
</div>
</div>
<p class="text-center">
<button class="btn btn-danger btn-sm md-close">Close</button>
</p>
</div>
</div>
</div>
<!-- Modal Logout -->
<div class="md-modal md-just-me" id="logout-modal">
<div class="md-content">
<h3><strong>Logout</strong> Confirmation</h3>
<div>
<p class="text-center">Are you sure want to logout from this awesome system?</p>
<p class="text-center">
<button class="btn btn-danger md-close">Nope!</button>
<a href="login.html" class="btn btn-success md-close">Yeah, I'm sure</a>
</p>
</div>
</div>
</div> <!-- Modal End -->
<!-- Begin page -->
<div class="container">
<div class="full-content-center animated flipInX">
<h1>500</h1>
<h2>We are unable to show this page to you correctly!</h2><br>
<p class="text-lightblue-2">You better try our awesome search:</p>
<div class="row">
<div class="icon-added input-group col-sm-8 col-sm-offset-2">
<i class="fa fa-search"></i>
<input type="text" class="form-control">
<span class="input-group-btn">
<button class="btn btn-success searchbtn" type="button">Search</button>
</span>
</div>
</div><br>
<a class="btn btn-primary btn-sm backbtn" href="index.html"><i class="fa fa-angle-left"></i> Back to Dashboard</a>
</div>
</div>
<!-- End of page -->
<!-- the overlay modal element -->
<div class="md-overlay"></div>
<!-- End of eoverlay modal -->
<script>
var resizefunc = [];
</script>
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="assets/libs/jquery/jquery-1.11.1.min.js"></script>
<script src="assets/libs/bootstrap/js/bootstrap.min.js"></script>
<script src="assets/libs/jqueryui/jquery-ui-1.10.4.custom.min.js"></script>
<script src="assets/libs/jquery-ui-touch/jquery.ui.touch-punch.min.js"></script>
<script src="assets/libs/jquery-detectmobile/detect.js"></script>
<script src="assets/libs/jquery-animate-numbers/jquery.animateNumbers.js"></script>
<script src="assets/libs/ios7-switch/ios7.switch.js"></script>
<script src="assets/libs/fastclick/fastclick.js"></script>
<script src="assets/libs/jquery-blockui/jquery.blockUI.js"></script>
<script src="assets/libs/bootstrap-bootbox/bootbox.min.js"></script>
<script src="assets/libs/jquery-slimscroll/jquery.slimscroll.js"></script>
<script src="assets/libs/jquery-sparkline/jquery-sparkline.js"></script>
<script src="assets/libs/nifty-modal/js/classie.js"></script>
<script src="assets/libs/nifty-modal/js/modalEffects.js"></script>
<script src="assets/libs/sortable/sortable.min.js"></script>
<script src="assets/libs/bootstrap-fileinput/bootstrap.file-input.js"></script>
<script src="assets/libs/bootstrap-select/bootstrap-select.min.js"></script>
<script src="assets/libs/bootstrap-select2/select2.min.js"></script>
<script src="assets/libs/magnific-popup/jquery.magnific-popup.min.js"></script>
<script src="assets/libs/pace/pace.min.js"></script>
<script src="assets/libs/bootstrap-datepicker/js/bootstrap-datepicker.js"></script>
<script src="assets/libs/jquery-icheck/icheck.min.js"></script>
<!-- Demo Specific JS Libraries -->
<script src="assets/libs/prettify/prettify.js"></script>
<script src="assets/js/init.js"></script>
</body>
</html>

@ -0,0 +1,864 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Advanced Forms | Coco - Responsive Bootstrap Admin Template</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="description" content="">
<meta name="keywords" content="coco bootstrap template, coco admin, bootstrap,admin template, bootstrap admin,">
<meta name="author" content="Huban Creative">
<!-- Base Css Files -->
<link href="assets/libs/jqueryui/ui-lightness/jquery-ui-1.10.4.custom.min.css" rel="stylesheet" />
<link href="assets/libs/bootstrap/css/bootstrap.min.css" rel="stylesheet" />
<link href="assets/libs/font-awesome/css/font-awesome.min.css" rel="stylesheet" />
<link href="assets/libs/fontello/css/fontello.css" rel="stylesheet" />
<link href="assets/libs/animate-css/animate.min.css" rel="stylesheet" />
<link href="assets/libs/nifty-modal/css/component.css" rel="stylesheet" />
<link href="assets/libs/magnific-popup/magnific-popup.css" rel="stylesheet" />
<link href="assets/libs/ios7-switch/ios7-switch.css" rel="stylesheet" />
<link href="assets/libs/pace/pace.css" rel="stylesheet" />
<link href="assets/libs/sortable/sortable-theme-bootstrap.css" rel="stylesheet" />
<link href="assets/libs/bootstrap-datepicker/css/datepicker.css" rel="stylesheet" />
<link href="assets/libs/jquery-icheck/skins/all.css" rel="stylesheet" />
<!-- Code Highlighter for Demo -->
<link href="assets/libs/prettify/github.css" rel="stylesheet" />
<!-- Extra CSS Libraries Start -->
<link href="assets/libs/bootstrap-select/bootstrap-select.min.css" rel="stylesheet" type="text/css" />
<link href="assets/libs/bootstrap-select2/select2.css" rel="stylesheet" type="text/css" />
<link href="assets/libs/bootstrap-xeditable/css/bootstrap-editable.css" rel="stylesheet" type="text/css" />
<link href="assets/libs/bootstrap-select2/select2.css" rel="stylesheet" type="text/css" />
<link href="assets/css/style.css" rel="stylesheet" type="text/css" />
<!-- Extra CSS Libraries End -->
<link href="assets/css/style-responsive.css" rel="stylesheet" />
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
<![endif]-->
<link rel="shortcut icon" href="assets/img/favicon.ico">
<link rel="apple-touch-icon" href="assets/img/apple-touch-icon.png" />
<link rel="apple-touch-icon" sizes="57x57" href="assets/img/apple-touch-icon-57x57.png" />
<link rel="apple-touch-icon" sizes="72x72" href="assets/img/apple-touch-icon-72x72.png" />
<link rel="apple-touch-icon" sizes="76x76" href="assets/img/apple-touch-icon-76x76.png" />
<link rel="apple-touch-icon" sizes="114x114" href="assets/img/apple-touch-icon-114x114.png" />
<link rel="apple-touch-icon" sizes="120x120" href="assets/img/apple-touch-icon-120x120.png" />
<link rel="apple-touch-icon" sizes="144x144" href="assets/img/apple-touch-icon-144x144.png" />
<link rel="apple-touch-icon" sizes="152x152" href="assets/img/apple-touch-icon-152x152.png" />
</head>
<body class="fixed-left">
<!-- Modal Start -->
<!-- Modal Task Progress -->
<div class="md-modal md-3d-flip-vertical" id="task-progress">
<div class="md-content">
<h3><strong>Task Progress</strong> Information</h3>
<div>
<p>CLEANING BUGS</p>
<div class="progress progress-xs for-modal">
<div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="80" aria-valuemin="0" aria-valuemax="100" style="width: 80%">
<span class="sr-only">80&#37; Complete</span>
</div>
</div>
<p>POSTING SOME STUFF</p>
<div class="progress progress-xs for-modal">
<div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="80" aria-valuemin="0" aria-valuemax="100" style="width: 65%">
<span class="sr-only">65&#37; Complete</span>
</div>
</div>
<p>BACKUP DATA FROM SERVER</p>
<div class="progress progress-xs for-modal">
<div class="progress-bar progress-bar-info" role="progressbar" aria-valuenow="80" aria-valuemin="0" aria-valuemax="100" style="width: 95%">
<span class="sr-only">95&#37; Complete</span>
</div>
</div>
<p>RE-DESIGNING WEB APPLICATION</p>
<div class="progress progress-xs for-modal">
<div class="progress-bar progress-bar-primary" role="progressbar" aria-valuenow="80" aria-valuemin="0" aria-valuemax="100" style="width: 100%">
<span class="sr-only">100&#37; Complete</span>
</div>
</div>
<p class="text-center">
<button class="btn btn-danger btn-sm md-close">Close</button>
</p>
</div>
</div>
</div>
<!-- Modal Logout -->
<div class="md-modal md-just-me" id="logout-modal">
<div class="md-content">
<h3><strong>Logout</strong> Confirmation</h3>
<div>
<p class="text-center">Are you sure want to logout from this awesome system?</p>
<p class="text-center">
<button class="btn btn-danger md-close">Nope!</button>
<a href="login.html" class="btn btn-success md-close">Yeah, I'm sure</a>
</p>
</div>
</div>
</div> <!-- Modal End -->
<!-- Begin page -->
<div id="wrapper">
<!-- Top Bar Start -->
<div class="topbar">
<div class="topbar-left">
<div class="logo">
<h1><a href="#"><img src="assets/img/logo.png" alt="Logo"></a></h1>
</div>
<button class="button-menu-mobile open-left">
<i class="fa fa-bars"></i>
</button>
</div>
<!-- Button mobile view to collapse sidebar menu -->
<div class="navbar navbar-default" role="navigation">
<div class="container">
<div class="navbar-collapse2">
<ul class="nav navbar-nav hidden-xs">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="icon-th"></i></a>
<div class="dropdown-menu grid-dropdown">
<div class="row stacked">
<div class="col-xs-4">
<a href="javascript:;" data-app="notes-app" data-status="active"><i class="icon-edit"></i>Notes</a>
</div>
<div class="col-xs-4">
<a href="javascript:;" data-app="todo-app" data-status="active"><i class="icon-check"></i>Todo List</a>
</div>
<div class="col-xs-4">
<a href="javascript:;" data-app="calc" data-status="inactive"><i class="fa fa-calculator"></i>Calculator</a>
</div>
</div>
<div class="row stacked">
<div class="col-xs-4">
<a href="javascript:;" data-app="weather-widget" data-status="active"><i class="icon-cloud-3"></i>Weather</a>
</div>
<div class="col-xs-4">
<a href="javascript:;" data-app="calendar-widget2" data-status="active"><i class="icon-calendar"></i>Calendar</a>
</div>
<div class="col-xs-4">
<a href="javascript:;" data-app="stock-app" data-status="inactive"><i class="icon-chart-line"></i>Stocks</a>
</div>
</div>
<div class="clearfix"></div>
</div>
</li>
<li class="language_bar dropdown hidden-xs">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">English (US) <i class="fa fa-caret-down"></i></a>
<ul class="dropdown-menu pull-right">
<li><a href="#">German</a></li>
<li><a href="#">French</a></li>
<li><a href="#">Italian</a></li>
<li><a href="#">Spanish</a></li>
</ul>
</li>
</ul>
<ul class="nav navbar-nav navbar-right top-navbar">
<li class="dropdown iconify hide-phone">
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="fa fa-globe"></i><span class="label label-danger absolute">4</span></a>
<ul class="dropdown-menu dropdown-message">
<li class="dropdown-header notif-header"><i class="icon-bell-2"></i> New Notifications<a class="pull-right" href="#"><i class="fa fa-cog"></i></a></li>
<li class="unread">
<a href="#">
<p><strong>John Doe</strong> Uploaded a photo <strong>&#34;DSC000254.jpg&#34;</strong>
<br /><i>2 minutes ago</i>
</p>
</a>
</li>
<li class="unread">
<a href="#">
<p><strong>John Doe</strong> Created an photo album <strong>&#34;Fappening&#34;</strong>
<br /><i>8 minutes ago</i>
</p>
</a>
</li>
<li>
<a href="#">
<p><strong>John Malkovich</strong> Added 3 products
<br /><i>3 hours ago</i>
</p>
</a>
</li>
<li>
<a href="#">
<p><strong>Sonata Arctica</strong> Send you a message <strong>&#34;Lorem ipsum dolor...&#34;</strong>
<br /><i>12 hours ago</i>
</p>
</a>
</li>
<li>
<a href="#">
<p><strong>Johnny Depp</strong> Updated his avatar
<br /><i>Yesterday</i>
</p>
</a>
</li>
<li class="dropdown-footer">
<div class="btn-group btn-group-justified">
<div class="btn-group">
<a href="#" class="btn btn-sm btn-primary"><i class="icon-ccw-1"></i> Refresh</a>
</div>
<div class="btn-group">
<a href="#" class="btn btn-sm btn-danger"><i class="icon-trash-3"></i> Clear All</a>
</div>
<div class="btn-group">
<a href="#" class="btn btn-sm btn-success">See All <i class="icon-right-open-2"></i></a>
</div>
</div>
</li>
</ul>
</li>
<li class="dropdown iconify hide-phone">
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="fa fa-envelope"></i><span class="label label-danger absolute">3</span></a>
<ul class="dropdown-menu dropdown-message">
<li class="dropdown-header notif-header"><i class="icon-mail-2"></i> New Messages</li>
<li class="unread">
<a href="#" class="clearfix">
<img src="images/users/chat/2.jpg" class="xs-avatar ava-dropdown" alt="Avatar">
<strong>John Doe</strong><i class="pull-right msg-time">5 minutes ago</i><br />
<p>Duis autem vel eum iriure dolor in hendrerit ...</p>
</a>
</li>
<li class="unread">
<a href="#" class="clearfix">
<img src="images/users/chat/1.jpg" class="xs-avatar ava-dropdown" alt="Avatar">
<strong>Sandra Kraken</strong><i class="pull-right msg-time">22 minutes ago</i><br />
<p>Duis autem vel eum iriure dolor in hendrerit ...</p>
</a>
</li>
<li>
<a href="#" class="clearfix">
<img src="images/users/chat/3.jpg" class="xs-avatar ava-dropdown" alt="Avatar">
<strong>Zoey Lombardo</strong><i class="pull-right msg-time">41 minutes ago</i><br />
<p>Duis autem vel eum iriure dolor in hendrerit ...</p>
</a>
</li>
<li class="dropdown-footer"><div class=""><a href="#" class="btn btn-sm btn-block btn-primary"><i class="fa fa-share"></i> See all messages</a></div></li>
</ul>
</li>
<li class="dropdown iconify hide-phone"><a href="#" onclick="javascript:toggle_fullscreen()"><i class="icon-resize-full-2"></i></a></li>
<li class="dropdown topbar-profile">
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><span class="rounded-image topbar-profile-image"><img src="images/users/user-35.jpg"></span> Jane <strong>Doe</strong> <i class="fa fa-caret-down"></i></a>
<ul class="dropdown-menu">
<li><a href="#">My Profile</a></li>
<li><a href="#">Change Password</a></li>
<li><a href="#">Account Setting</a></li>
<li class="divider"></li>
<li><a href="#"><i class="icon-help-2"></i> Help</a></li>
<li><a href="lockscreen.html"><i class="icon-lock-1"></i> Lock me</a></li>
<li><a class="md-trigger" data-modal="logout-modal"><i class="icon-logout-1"></i> Logout</a></li>
</ul>
</li>
<li class="right-opener">
<a href="javascript:;" class="open-right"><i class="fa fa-angle-double-left"></i><i class="fa fa-angle-double-right"></i></a>
</li>
</ul>
</div>
<!--/.nav-collapse -->
</div>
</div>
</div>
<!-- Top Bar End -->
<!-- Left Sidebar Start -->
<div class="left side-menu">
<div class="sidebar-inner slimscrollleft">
<!-- Search form -->
<form role="search" class="navbar-form">
<div class="form-group">
<input type="text" placeholder="Search" class="form-control">
<button type="submit" class="btn search-button"><i class="fa fa-search"></i></button>
</div>
</form>
<div class="clearfix"></div>
<!--- Profile -->
<div class="profile-info">
<div class="col-xs-4">
<a href="profile.html" class="rounded-image profile-image"><img src="images/users/user-100.jpg"></a>
</div>
<div class="col-xs-8">
<div class="profile-text">Welcome <b>Jane</b></div>
<div class="profile-buttons">
<a href="javascript:;"><i class="fa fa-envelope-o pulse"></i></a>
<a href="#connect" class="open-right"><i class="fa fa-comments"></i></a>
<a href="javascript:;" title="Sign Out"><i class="fa fa-power-off text-red-1"></i></a>
</div>
</div>
</div>
<!--- Divider -->
<div class="clearfix"></div>
<hr class="divider" />
<div class="clearfix"></div>
<!--- Divider -->
<div id="sidebar-menu">
<ul><li class='has_sub'><a href='javascript:void(0);'><i class='icon-home-3'></i><span>Dashboard</span> <span class="pull-right"><i class="fa fa-angle-down"></i></span></a><ul><li><a href='index.html'><span>Dashboard v1</span></a></li><li><a href='index2.html'><span>Dashboard v2</span></a></li></ul></li><li class='has_sub'><a href='javascript:void(0);'><i class='icon-feather'></i><span>UI Elements</span> <span class="pull-right"><i class="fa fa-angle-down"></i></span></a><ul><li><a href='alerts.html'><span>Alerts</span></a></li><li><a href='buttons.html'><span>Buttons</span></a></li><li><a href='calendar.html'><span>Calendar</span></a></li><li><a href='grid.html'><span>Grid</span></a></li><li><a href='icons.html'><span>Icons</span></a></li><li><a href='modals.html'><span>Modals</span></a></li><li><a href='nested-list.html'><span>Nested List</span></a></li><li><a href='notifications.html'><span>Notifications</span></a></li><li><a href='portlets.html'><span>Portlets</span></a></li><li><a href='progress-bars.html'><span>Progress Bars</span></a></li><li><a href='tabs-accordions.html'><span>Tabs & Accordions</span></a></li><li><a href='typography.html'><span>Typography</span></a></li></ul></li><li class='has_sub'><a href='javascript:void(0);'><i class='icon-pencil-3'></i><span>Forms</span> <span class="pull-right"><i class="fa fa-angle-down"></i></span></a><ul><li><a href='forms.html'><span>Form Elements</span></a></li><li><a href='advanced-forms.html' class='active'><span>Advanced Forms</span></a></li><li><a href='form-wizard.html'><span>Form Wizard</span></a></li><li><a href='form-validation.html'><span>Form Validation</span></a></li><li><a href='form-uploads.html'><span>File Uploads</span></a></li></ul></li><li class='has_sub'><a href='javascript:void(0);'><i class='fa fa-table'></i><span>Tables</span> <span class="pull-right"><i class="fa fa-angle-down"></i></span></a><ul><li><a href='tables.html'><span>Basic Tables</span></a></li><li><a href='datatables.html'><span>Datatables</span></a></li></ul></li><li class='has_sub'><a href='javascript:void(0);'><i class='fa fa-map-marker'></i><span>Maps</span> <span class="pull-right"><i class="fa fa-angle-down"></i></span></a><ul><li><a href='google-maps.html'><span>Google Maps</span></a></li><li><a href='vector-maps.html'><span>Vector Maps</span></a></li></ul></li><li class='has_sub'><a href='javascript:void(0);'><i class='fa fa-envelope'></i><span>Email</span> <span class="pull-right"><i class="fa fa-angle-down"></i></span></a><ul><li><a href='inbox.html'><span>Inbox</span></a></li><li><a href='read-message.html'><span>View Email</span></a></li><li><a href='new-message.html'><span>New Message</span></a></li></ul></li><li class='has_sub'><a href='javascript:void(0);'><i class='icon-chart-line'></i><span>Charts</span> <span class="pull-right"><i class="fa fa-angle-down"></i></span></a><ul><li><a href='sparkline-charts.html'><span>Sparkline Charts</span></a></li><li><a href='morris-charts.html'><span>Morris Charts</span></a></li><li><a href='rickshaw-charts.html'><span>Rickshaw Charts</span></a></li><li><a href='other-charts.html'><span>Other Charts</span></a></li></ul></li><li class='has_sub'><a href='javascript:void(0);'><i class='icon-megaphone'></i><span>Extras</span> <span class="pull-right"><i class="fa fa-angle-down"></i></span></a><ul><li><a href='blank.html'><span>Blank Page</span></a></li><li><a href='login.html'><span>Login</span></a></li><li><a href='register.html'><span>Register</span></a></li><li><a href='lockscreen.html'><span>Lock Screen</span></a></li><li><a href='404.html'><span>404 Error</span></a></li><li><a href='500.html'><span>500 Error</span></a></li><li><a href='profile.html'><span>User Profile</span></a></li><li><a href='invoice.html'><span>Invoice</span></a></li><li><a href='gallery.html'><span>Gallery</span></a></li><li><a href='maintenance.html'><span>Maintenance</span></a></li><li class='has_sub'><a href='javascript:void(0);'><span>3 Level menu</span> <span class="pull-right"><i class="fa fa-angle-down"></i></span></a><ul><li><a href='javascript:void(0);'><span>Sub Item</span></a></li></ul></li><li class='has_sub'><a href='javascript:void(0);'><span>4 Level Menu</span> <span class="pull-right"><i class="fa fa-angle-down"></i></span></a><ul><li class='has_sub'><a href='javascript:void(0);'><span>Sub Item - level 3</span> <span class="pull-right"><i class="fa fa-angle-down"></i></span></a><ul><li><a href='javascript:void(0);'><span>Sub Item - level 4</span></a></li></ul></li></ul></li><li class='has_sub'><a href='javascript:void(0);'><span>Submenu with icons</span> <span class="pull-right"><i class="fa fa-angle-down"></i></span></a><ul><li><a href='javascript:void(0);'><i class='fa fa-camera'></i><span>Item with icon</span></a></li><li><a href='javascript:void(0);'><i class='entypo entypo-users'></i><span>Another Item</span></a></li></ul></li></ul></li></ul> <div class="clearfix"></div>
</div>
<div class="clearfix"></div>
<div class="portlets">
<div id="chat_groups" class="widget transparent nomargin">
<h2>Chat Groups</h2>
<div class="widget-content">
<ul class="list-unstyled">
<li><a href="javascript:;"><i class="fa fa-circle-o text-red-1"></i> Colleagues</a></li>
<li><a href="javascript:;"><i class="fa fa-circle-o text-blue-1"></i> Family</a></li>
<li><a href="javascript:;"><i class="fa fa-circle-o text-green-1"></i> Friends</a></li>
</ul>
</div>
</div>
<div id="recent_tickets" class="widget transparent nomargin">
<h2>Recent Tickets</h2>
<div class="widget-content">
<ul class="list-unstyled">
<li>
<a href="javascript:;">My wordpress blog is broken <span>I was trying to save my page and...</span></a>
</li>
<li>
<a href="javascript:;">Server down, need help!<span>My server is not responding for the last...</span></a>
</li>
</ul>
</div>
</div>
</div>
<div class="clearfix"></div><br><br><br>
</div>
<div class="left-footer">
<div class="progress progress-xs">
<div class="progress-bar bg-green-1" role="progressbar" aria-valuenow="80" aria-valuemin="0" aria-valuemax="100" style="width: 80%">
<span class="progress-precentage">80%</span>
</div>
<a data-toggle="tooltip" title="See task progress" class="btn btn-default md-trigger" data-modal="task-progress"><i class="fa fa-inbox"></i></a>
</div>
</div>
</div>
<!-- Left Sidebar End --> <!-- Right Sidebar Start -->
<div class="right side-menu">
<ul class="nav nav-tabs nav-justified" id="right-tabs">
<li class="active"><a href="#feed" data-toggle="tab" title="Live Feed"><i class="icon-rss-2"></i></a></li>
<li><a href="#connect" data-toggle="tab" title="Chat"><i class="icon-chat"></i></a></li>
<li><a href="#settings" data-toggle="tab" title="Preferences"><i class="icon-wrench"></i></a></li>
</ul>
<div class="clearfix"></div>
<div class="tab-content">
<div class="tab-pane active" id="feed">
<div class="tab-inner slimscroller">
<div class="search-right">
<input type="text" class="form-control" placeholder="Search">
</div>
<div class="right-toolbar">
<a href="javascript:;" class="pull-right">Settings <i class="icon-cog"></i></a>
<div class="clearfix"></div>
</div>
<div class="clearfix"></div>
<div class="panel-group" id="collapse">
<div class="panel panel-default">
<div class="panel-heading bg-orange-1">
<h4 class="panel-title">
<a data-toggle="collapse" data-parent="#accordion" href="#rnotifications">
<i class="icon-bell-2"></i> Notifications
<span class="label bg-darkblue-1 pull-right">4</span>
</a>
</h4>
</div>
<div id="rnotifications" class="panel-collapse collapse in">
<div class="panel-body">
<ul class="list-unstyled" id="notification-list">
<li><a href="javascript:;"><span class="icon-wrapper"><i class="icon-video"></i></span> 1 Video Uploaded <span class="muted">12 minutes ago</span></a></li>
<li><a href="javascript:;"><span class="icon-wrapper"><i class="icon-users-1"></i></span> 3 Users signed up <span class="muted">16 minutes ago</span></a></li>
<li><a href="javascript:;"><span class="icon-wrapper"><i class="icon-picture-1"></i></span> 1 Video Uploaded <span class="muted">12 minutes ago</span></a></li>
<li><a href="javascript:;"><span class="icon-wrapper"><i class="icon-hourglass-1"></i></span> Deadline for 1 project <span class="muted">12 minutes ago</span></a></li>
</ul>
<a class="btn btn-block btn-sm btn-warning">See all notifications</a>
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading bg-green-3">
<h4 class="panel-title">
<a data-toggle="collapse" data-parent="#accordion" href="#remails">
<i class="icon-mail"></i> E-mails
<span class="label bg-darkblue-1 pull-right">3</span>
</a>
</h4>
</div>
<div id="remails" class="panel-collapse collapse in">
<div class="panel-body">
<ul class="list-unstyled" id="inbox-list">
<li><a href="javascript:;"><span class="sender"><i class="icon-star text-yellow-2"></i> Kim Wilde</span> <span class="datetime">6 mins ago</span>
<span class="title">You keep me hangin on</span>
<span class="content">Where are you? I am waiting for 3 hours in the restaurant. I ate 3 hamburgers.</span>
</a></li>
<li><a href="javascript:;"><span class="sender">Tyler Durden</span> <span class="datetime">13 hours ago</span>
<span class="title">Buy some soap from market before</span>
<span class="content">We are crowded here. We need some more soap at home. Buy some before you come home.</span>
</a></li>
<li><a href="javascript:;"><span class="sender">John Bonomo</span> <span class="datetime">Yesterday</span>
<span class="title">Late delivery</span>
<span class="content">Hello, I ordered 15 box of viagra for a friend of mine but he still hasn't receive them.</span>
</a></li>
</ul>
<a class="btn btn-block btn-sm btn-primary">Go to inbox</a>
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading bg-blue-1">
<h4 class="panel-title">
<a data-toggle="collapse" data-parent="#accordion" href="#rupdates">
<i class="icon-signal-2"></i> Updates
<span class="label bg-darkblue-1 pull-right">5</span>
</a>
</h4>
</div>
<div id="rupdates" class="panel-collapse collapse in">
<div class="panel-body">
<ul class="list-unstyled" id="updates-list">
<li><a href="javascript:;"><span class="icon-wrapper bg-green-1"><i class="icon-comment-1"></i></span> <b>David Guetta</b> came online <abbr title="15 seconds ago">just now</abbr>.</a></li>
<li><a href="javascript:;"><span class="icon-wrapper bg-red-1"><i class="icon-user-3"></i></span> <b>Katy Perry</b> updated her profile <abbr title="4 mins ago">4 mins ago</abbr>.</a></li>
<li><a href="javascript:;"><span class="icon-wrapper bg-blue-1"><i class="icon-twitter-2"></i></span> <b>4 tweets posted</b> with cronjob <abbr title="22 mins ago">22 mins ago</abbr>.</a></li>
<li><a href="javascript:;"><span class="icon-wrapper bg-orange-3"><i class="icon-water"></i></span> <b>Adele</b> set fire to the rain <abbr title="43 mins ago">43 mins ago</abbr>.</a></li>
<li><a href="javascript:;"><span class="icon-wrapper bg-pink-2"><i class="icon-heart-broken"></i></span> <b>Taylor Swift</b> learned that you are trouble <abbr title="3 hours ago">3 days ago</abbr>.</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="tab-pane" id="connect">
<div class="tab-inner slimscroller">
<div class="search-right">
<input type="text" class="form-control" placeholder="Search">
</div>
<div class="panel-group" id="collapse">
<div class="panel panel-default" id="chat-panel">
<div class="panel-heading bg-darkblue-2">
<h4 class="panel-title">
<a data-toggle="collapse" href="#chat-coll">
<i class="icon-briefcase-1"></i> Colleagues
<span class="label bg-darkblue-1 pull-right">14</span>
</a>
</h4>
</div>
<div id="chat-coll" class="panel-collapse collapse in">
<div class="panel-body">
<ul class="list-unstyled" id="chat-list">
<li><a href="javascript:;" class="online"><span class="chat-user-avatar"><img src="images/users/chat/1.jpg"></span> <span class="chat-user-name">Dorothy Simons</span><span class="chat-user-msg">I wish I was a bird in the sky</span></a></li>
<li><a href="javascript:;" class="online"><span class="chat-user-avatar"><img src="images/users/chat/2.jpg"></span> <span class="chat-user-name">John Malkovich</span><span class="chat-user-msg">You were the traitor</span></a></li>
<li><a href="javascript:;" class="online"><span class="chat-user-avatar"><img src="images/users/chat/3.jpg"></span> <span class="chat-user-name">Jessica Simons</span><span class="chat-user-msg">Where is my mind</span></a></li>
<li><a href="javascript:;" class="away"><span class="chat-user-avatar"><img src="images/users/chat/4.jpg"></span> <span class="chat-user-name">Jack Stallman</span><span class="chat-user-msg">Away since 13:32</span></a></li>
<li><a href="javascript:;" class="offline"><span class="chat-user-avatar"><img src="images/users/chat/5.jpg"></span> <span class="chat-user-name">Neil Armstrong</span><span class="chat-user-msg" title="I am flying to the moon and back">I am flying to the moon and back</span></a></li>
<li><a href="javascript:;" class="offline"><span class="chat-user-avatar"><img src="images/users/chat/6.jpg"></span> <span class="chat-user-name">Hollywood Studios</span><span class="chat-user-msg">Yes he definitely is!</span></a></li>
</ul>
</div>
</div>
</div>
<div class="panel panel-default" id="chat-panel">
<div class="panel-heading bg-darkblue-2">
<h4 class="panel-title">
<a data-toggle="collapse" data-parent="#accordion" href="#collapseTwo">
<i class="icon-heart-3"></i> Friends
<span class="label bg-darkblue-1 pull-right">3</span>
</a>
</h4>
</div>
<div id="collapseTwo" class="panel-collapse collapse in">
<div class="panel-body">
<ul class="list-unstyled" id="chat-list">
<li><a href="javascript:;" class="online"><span class="chat-user-avatar"><img src="images/users/chat/1.jpg"></span> <span class="chat-user-name">Dorothy Simons</span><span class="chat-user-msg">I wish I was a bird in the sky</span></a></li>
<li><a href="javascript:;" class="online"><span class="chat-user-avatar"><img src="images/users/chat/2.jpg"></span> <span class="chat-user-name">John Malkovich</span><span class="chat-user-msg">You were the traitor</span></a></li>
<li><a href="javascript:;" class="online"><span class="chat-user-avatar"><img src="images/users/chat/3.jpg"></span> <span class="chat-user-name">Jessica Simons</span><span class="chat-user-msg" title="Eminem - The Monster ft. Rihanna"><i class="icon-play"></i> Eminem - The Monster ft. Rihanna</span></a></li>
<li><a href="javascript:;" class="away"><span class="chat-user-avatar"><img src="images/users/chat/4.jpg"></span> <span class="chat-user-name">Jack Stallman</span><span class="chat-user-msg">Away since 13:32</span></a></li>
<li><a href="javascript:;" class="offline"><span class="chat-user-avatar"><img src="images/users/chat/5.jpg"></span> <span class="chat-user-name">Neil Armstrong</span><span class="chat-user-msg" title="I am flying to the moon and back">I am flying to the moon and back</span></a></li>
<li><a href="javascript:;" class="offline"><span class="chat-user-avatar"><img src="images/users/chat/6.jpg"></span> <span class="chat-user-name">Hollywood Studios</span><span class="chat-user-msg">Yes he definitely is!</span></a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="tab-pane" id="settings">
<div class="tab-inner slimscroller">
<div class="col-sm-12">
<h3>Preferences</h3>
<div class="row">
<div class="col-xs-8">
Live data updates
</div>
<div class="col-xs-4">
<input type="checkbox" class="ios-switch ios-switch-success ios-switch-sm" checked />
</div>
</div>
<div class="row">
<div class="col-xs-8">
Live feeds
</div>
<div class="col-xs-4">
<input type="checkbox" class="ios-switch ios-switch-success ios-switch-sm" checked />
</div>
</div>
<div class="row">
<div class="col-xs-8">
Sync data to cloud
</div>
<div class="col-xs-4">
<input type="checkbox" class="ios-switch ios-switch-success ios-switch-sm" checked />
</div>
</div>
<div class="row">
<div class="col-xs-8">
Keep activity record
</div>
<div class="col-xs-4">
<input type="checkbox" class="ios-switch ios-switch-danger ios-switch-sm" checked />
</div>
</div>
<h4>Other Settings</h4>
<div class="row">
<div class="col-xs-12">
<label class="checkboxw"><input type="checkbox" checked> Autosave settings</label>
</div>
</div>
<div class="row">
<div class="col-xs-12">
<label class="checkboxw"><input type="checkbox"> Always online</label>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Right Sidebar End -->
<!-- Start right content -->
<div class="content-page">
<!-- ============================================================== -->
<!-- Start Content here -->
<!-- ============================================================== -->
<div class="content">
<!-- Page Heading Start -->
<div class="page-heading">
<h1><i class='fa fa-check'></i> Advanced Forms</h1>
</div>
<!-- Page Heading End-->
<!-- Your awesome content goes here -->
<div class="row">
<div class="col-sm-12 portlets">
<div class="widget">
<div class="widget-header">
<h2><strong>Inline</strong> Editing</h2>
<div class="additional-btn">
<a href="#" class="hidden reload"><i class="icon-ccw-1"></i></a>
<a href="#" class="widget-toggle"><i class="icon-down-open-2"></i></a>
<a href="#" class="widget-close"><i class="icon-cancel-3"></i></a>
</div>
</div>
<div class="widget-content padding">
<p>Click to edit</p>
<table id="user" class="table table-bordered table-striped" style="clear: both">
<tbody>
<tr>
<td width="35%">Simple text field</td>
<td width="65%"><a href="#" id="username" data-type="text" data-pk="1" data-title="Enter username">superuser</a></td>
</tr>
<tr>
<td>Empty text field, required</td>
<td><a href="#" id="firstname" data-type="text" data-pk="1" data-placement="right" data-placeholder="Required" data-title="Enter your firstname"></a></td>
</tr>
<tr>
<td>Select, local array, custom display</td>
<td><a href="#" id="sex" data-type="select" data-pk="1" data-value="" data-title="Select sex"></a></td>
</tr>
<tr>
<td>Select, remote array, no buttons</td>
<td><a href="#" id="group" data-type="select" data-pk="1" data-value="5" data-source="/groups" data-title="Select group">Admin</a></td>
</tr>
<tr>
<td>Select, error while loading</td>
<td><a href="#" id="status" data-type="select" data-pk="1" data-value="0" data-source="/status" data-title="Select status">Active</a></td>
</tr>
<tr>
<td>Datepicker</td>
<td>
<span class="notready">not implemented for Bootstrap 3 yet</span>
</td>
</tr>
<tr>
<td>Combodate (date)</td>
<td><a href="#" id="dob" data-type="combodate" data-value="1984-05-15" data-format="YYYY-MM-DD" data-viewformat="DD/MM/YYYY" data-template="D / MMM / YYYY" data-pk="1" data-title="Select Date of birth"></a></td>
</tr>
<tr>
<td>Combodate (datetime)</td>
<td><a href="#" id="event" data-type="combodate" data-template="D MMM YYYY HH:mm" data-format="YYYY-MM-DD HH:mm" data-viewformat="MMM D, YYYY, HH:mm" data-pk="1" data-title="Setup event date and time"></a></td>
</tr>
<tr>
<td>Textarea, buttons below. Submit by <i>ctrl+enter</i></td>
<td><a href="#" id="comments" data-type="textarea" data-pk="1" data-placeholder="Your comments here..." data-title="Enter comments">awesome user!</a></td>
</tr>
<tr>
<td>Checklist</td>
<td><a href="#" id="fruits" data-type="checklist" data-value="2,3" data-title="Select fruits"></a></td>
</tr>
<tr>
<td>Select2 (tags mode)</td>
<td><a href="#" id="tags" data-type="select2" data-pk="1" data-title="Enter tags">html, javascript</a></td>
</tr>
<tr>
<td>Select2 (dropdown mode)</td>
<td><a href="#" id="country" data-type="select2" data-pk="1" data-value="BS" data-title="Select country"></a></td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="widget">
<div class="widget-header">
<h2><strong>IOS 7</strong> Switches</h2>
<div class="additional-btn">
<a href="#" class="hidden reload"><i class="icon-ccw-1"></i></a>
<a href="#" class="widget-toggle"><i class="icon-down-open-2"></i></a>
<a href="#" class="widget-close"><i class="icon-cancel-3"></i></a>
</div>
</div>
<div class="widget-content padding">
<h4>Large Size</h4>
<input type="checkbox" class="ios-switch ios-switch-default ios-switch-lg" checked />
<input type="checkbox" class="ios-switch ios-switch-primary ios-switch-lg" checked />
<input type="checkbox" class="ios-switch ios-switch-success ios-switch-lg" checked />
<input type="checkbox" class="ios-switch ios-switch-danger ios-switch-lg" checked />
<input type="checkbox" class="ios-switch ios-switch-warning ios-switch-lg" checked />
<input type="checkbox" class="ios-switch ios-switch-info ios-switch-lg" checked />
<h4>Default Size</h4>
<input type="checkbox" class="ios-switch ios-switch-default" checked />
<input type="checkbox" class="ios-switch ios-switch-primary" checked />
<input type="checkbox" class="ios-switch ios-switch-success" checked />
<input type="checkbox" class="ios-switch ios-switch-danger" checked />
<input type="checkbox" class="ios-switch ios-switch-warning" checked />
<input type="checkbox" class="ios-switch ios-switch-info" checked />
<h4>Small Size</h4>
<input type="checkbox" class="ios-switch ios-switch-default ios-switch-sm" checked />
<input type="checkbox" class="ios-switch ios-switch-primary ios-switch-sm" checked />
<input type="checkbox" class="ios-switch ios-switch-success ios-switch-sm" checked />
<input type="checkbox" class="ios-switch ios-switch-danger ios-switch-sm" checked />
<input type="checkbox" class="ios-switch ios-switch-warning ios-switch-sm" checked />
<input type="checkbox" class="ios-switch ios-switch-info ios-switch-sm" checked />
</div>
</div>
<div class="widget">
<div class="widget-header">
<h2><strong>WYSIWYG</strong> Editor</h2>
<div class="additional-btn">
<a href="#" class="hidden reload"><i class="icon-ccw-1"></i></a>
<a href="#" class="widget-toggle"><i class="icon-down-open-2"></i></a>
<a href="#" class="widget-close"><i class="icon-cancel-3"></i></a>
</div>
</div>
<div class="widget-content">
<textarea id="ckeditor"></textarea>
</div>
</div>
<div class="widget">
<div class="widget-header">
<h2><strong>Inline</strong> WYSIWYG Editor</h2>
<div class="additional-btn">
<a href="#" class="hidden reload"><i class="icon-ccw-1"></i></a>
<a href="#" class="widget-toggle"><i class="icon-down-open-2"></i></a>
<a href="#" class="widget-close"><i class="icon-cancel-3"></i></a>
</div>
</div>
<div class="widget-content padding">
<div id="container">
<div id="header">
<div id="headerLeft">
<h2 id="sampleTitle" contenteditable="true">
CKEditor<br> Goes Inline!
</h2>
<h3 contenteditable="true">
Lorem ipsum dolor sit amet dolor duis blandit vestibulum faucibus a, tortor.
</h3>
</div>
<div id="headerRight">
<div contenteditable="true">
<p>
Lorem ipsum dolor sit amet enim. Etiam ullamcorper. Suspendisse a pellentesque dui, non felis. Maecenas malesuada elit lectus felis, malesuada ultricies.
</p>
<p>
Curabitur et ligula. Ut molestie a, ultricies porta urna. Vestibulum commodo volutpat a, convallis ac, laoreet enim. Phasellus fermentum in, dolor. Pellentesque facilisis. Nulla imperdiet sit amet magna. Vestibulum dapibus, mauris nec malesuada fames ac.
</p>
</div>
</div>
</div>
<div id="columns">
<div id="column1">
<div contenteditable="true">
<h3>
Fusce vitae porttitor
</h3>
<p>
<strong>
Lorem ipsum dolor sit amet dolor. Duis blandit vestibulum faucibus a, tortor.
</strong>
</p>
<p>
Proin nunc justo felis mollis tincidunt, risus risus pede, posuere cubilia Curae, Nullam euismod, enim. Etiam nibh ultricies dolor ac dignissim erat volutpat. Vivamus fermentum <a href="http://ckeditor.com/">nisl nulla sem in</a> metus. Maecenas wisi. Donec nec erat volutpat.
</p>
<blockquote>
<p>
Fusce vitae porttitor a, euismod convallis nisl, blandit risus tortor, pretium.
Vehicula vitae, imperdiet vel, ornare enim vel sodales rutrum
</p>
</blockquote>
<blockquote>
<p>
Libero nunc, rhoncus ante ipsum non ipsum. Nunc eleifend pede turpis id sollicitudin fringilla. Phasellus ultrices, velit ac arcu.
</p>
</blockquote>
<p>Pellentesque nunc. Donec suscipit erat. Pellentesque habitant morbi tristique ullamcorper.</p>
<p><s>Mauris mattis feugiat lectus nec mauris. Nullam vitae ante.</s></p>
</div>
</div>
<div id="column2">
<div contenteditable="true">
<h3>
Integer condimentum sit amet
</h3>
<p>
<strong>Aenean nonummy a, mattis varius. Cras aliquet.</strong>
Praesent <a href="http://ckeditor.com/">magna non mattis ac, rhoncus nunc</a>, rhoncus eget, cursus pulvinar mollis.</p>
<p>Proin id nibh. Sed eu libero posuere sed, lectus. Phasellus dui gravida gravida feugiat mattis ac, felis.</p>
<p>Integer condimentum sit amet, tempor elit odio, a dolor non ante at sapien. Sed ac lectus. Nulla ligula quis eleifend mi, id leo velit pede cursus arcu id nulla ac lectus. Phasellus vestibulum. Nunc viverra enim quis diam.</p>
</div>
<div contenteditable="true">
<h3>
Praesent wisi accumsan sit amet nibh
</h3>
<p>Donec ullamcorper, risus tortor, pretium porttitor. Morbi quam quis lectus non leo.</p>
<p style="margin-left: 40px; ">Integer faucibus scelerisque. Proin faucibus at, aliquet vulputate, odio at eros. Fusce <a href="http://ckeditor.com/">gravida, erat vitae augue</a>. Fusce urna fringilla gravida.</p>
<p>In hac habitasse platea dictumst. Praesent wisi accumsan sit amet nibh. Maecenas orci luctus a, lacinia quam sem, posuere commodo, odio condimentum tempor, pede semper risus. Suspendisse pede. In hac habitasse platea dictumst. Nam sed laoreet sit amet erat. Integer.</p>
</div>
</div>
<div id="column3">
<div contenteditable="true">
<p>
<img src="assets/inlineall/logo.png" alt="CKEditor logo" style="float:left">
</p>
<p>Quisque justo neque, mattis sed, fermentum ultrices <strong>posuere cubilia Curae</strong>, Vestibulum elit metus, quis placerat ut, lectus. Ut sagittis, nunc libero, egestas consequat lobortis velit rutrum ut, faucibus turpis. Fusce porttitor, nulla quis turpis. Nullam laoreet vel, consectetuer tellus suscipit ultricies, hendrerit wisi. Donec odio nec velit ac nunc sit amet, accumsan cursus aliquet. Vestibulum ante sit amet sagittis mi.</p>
<h3>
Nullam laoreet vel consectetuer tellus suscipit
</h3>
<ul>
<li>Ut sagittis, nunc libero, egestas consequat lobortis velit rutrum ut, faucibus turpis.</li>
<li>Fusce porttitor, nulla quis turpis. Nullam laoreet vel, consectetuer tellus suscipit ultricies, hendrerit wisi.</li>
<li>Mauris eget tellus. Donec non felis. Nam eget dolor. Vestibulum enim. Donec.</li>
</ul>
<p>Quisque justo neque, mattis sed, <a href="http://ckeditor.com/">fermentum ultrices posuere cubilia</a> Curae, Vestibulum elit metus, quis placerat ut, lectus.</p>
<p>Nullam laoreet vel, consectetuer tellus suscipit ultricies, hendrerit wisi. Ut sagittis, nunc libero, egestas consequat lobortis velit rutrum ut, faucibus turpis. Fusce porttitor, nulla quis turpis.</p>
<p>Donec odio nec velit ac nunc sit amet, accumsan cursus aliquet. Vestibulum ante sit amet sagittis mi. Sed in nonummy faucibus turpis. Mauris eget tellus. Donec non felis. Nam eget dolor. Vestibulum enim. Donec.</p>
</div>
</div>
</div>
<div id="tagLine">
Tags of this article:
<p id="taglist" contenteditable="true">
inline, editing, floating, CKEditor
</p>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- End of your awesome content -->
<!-- Footer Start -->
<footer>
Huban Creative &copy; 2014
<div class="footer-links pull-right">
<a href="#">About</a><a href="#">Support</a><a href="#">Terms of Service</a><a href="#">Legal</a><a href="#">Help</a><a href="#">Contact Us</a>
</div>
</footer>
<!-- Footer End -->
</div>
<!-- ============================================================== -->
<!-- End content here -->
<!-- ============================================================== -->
</div>
<!-- End right content -->
</div>
<!-- End of page -->
<!-- the overlay modal element -->
<div class="md-overlay"></div>
<!-- End of eoverlay modal -->
<script>
var resizefunc = [];
</script>
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="assets/libs/jquery/jquery-1.11.1.min.js"></script>
<script src="assets/libs/bootstrap/js/bootstrap.min.js"></script>
<script src="assets/libs/jqueryui/jquery-ui-1.10.4.custom.min.js"></script>
<script src="assets/libs/jquery-ui-touch/jquery.ui.touch-punch.min.js"></script>
<script src="assets/libs/jquery-detectmobile/detect.js"></script>
<script src="assets/libs/jquery-animate-numbers/jquery.animateNumbers.js"></script>
<script src="assets/libs/ios7-switch/ios7.switch.js"></script>
<script src="assets/libs/fastclick/fastclick.js"></script>
<script src="assets/libs/jquery-blockui/jquery.blockUI.js"></script>
<script src="assets/libs/bootstrap-bootbox/bootbox.min.js"></script>
<script src="assets/libs/jquery-slimscroll/jquery.slimscroll.js"></script>
<script src="assets/libs/jquery-sparkline/jquery-sparkline.js"></script>
<script src="assets/libs/nifty-modal/js/classie.js"></script>
<script src="assets/libs/nifty-modal/js/modalEffects.js"></script>
<script src="assets/libs/sortable/sortable.min.js"></script>
<script src="assets/libs/bootstrap-fileinput/bootstrap.file-input.js"></script>
<script src="assets/libs/bootstrap-select/bootstrap-select.min.js"></script>
<script src="assets/libs/bootstrap-select2/select2.min.js"></script>
<script src="assets/libs/magnific-popup/jquery.magnific-popup.min.js"></script>
<script src="assets/libs/pace/pace.min.js"></script>
<script src="assets/libs/bootstrap-datepicker/js/bootstrap-datepicker.js"></script>
<script src="assets/libs/jquery-icheck/icheck.min.js"></script>
<!-- Demo Specific JS Libraries -->
<script src="assets/libs/prettify/prettify.js"></script>
<script src="assets/js/init.js"></script>
<!-- Page Specific JS Libraries -->
<script src="assets/libs/bootstrap-select/bootstrap-select.min.js"></script>
<script src="assets/libs/bootstrap-inputmask/inputmask.js"></script>
<script src="assets/libs/bootstrap-xeditable/js/bootstrap-editable.min.js"></script>
<script src="assets/libs/bootstrap-xeditable/demo/jquery.mockjax.js"></script>
<script src="assets/libs/bootstrap-xeditable/demo/demo-mock.js"></script>
<script src="assets/libs/bootstrap-select2/select2.min.js"></script>
<script src="assets/libs/jquery-clndr/moment-2.5.1.js"></script>
<script src="assets/libs/bootstrap-typeahead/bootstrap3-typeahead.min.js"></script>
<script src="assets/libs/ckeditor/ckeditor.js"></script>
<script src="assets/libs/ckeditor/adapters/jquery.js"></script>
<script src="assets/js/pages/advanced-forms.js"></script>
</body>
</html>

@ -0,0 +1,672 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Alerts | Coco - Responsive Bootstrap Admin Template</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="description" content="">
<meta name="keywords" content="coco bootstrap template, coco admin, bootstrap,admin template, bootstrap admin,">
<meta name="author" content="Huban Creative">
<!-- Base Css Files -->
<link href="assets/libs/jqueryui/ui-lightness/jquery-ui-1.10.4.custom.min.css" rel="stylesheet" />
<link href="assets/libs/bootstrap/css/bootstrap.min.css" rel="stylesheet" />
<link href="assets/libs/font-awesome/css/font-awesome.min.css" rel="stylesheet" />
<link href="assets/libs/fontello/css/fontello.css" rel="stylesheet" />
<link href="assets/libs/animate-css/animate.min.css" rel="stylesheet" />
<link href="assets/libs/nifty-modal/css/component.css" rel="stylesheet" />
<link href="assets/libs/magnific-popup/magnific-popup.css" rel="stylesheet" />
<link href="assets/libs/ios7-switch/ios7-switch.css" rel="stylesheet" />
<link href="assets/libs/pace/pace.css" rel="stylesheet" />
<link href="assets/libs/sortable/sortable-theme-bootstrap.css" rel="stylesheet" />
<link href="assets/libs/bootstrap-datepicker/css/datepicker.css" rel="stylesheet" />
<link href="assets/libs/jquery-icheck/skins/all.css" rel="stylesheet" />
<!-- Code Highlighter for Demo -->
<link href="assets/libs/prettify/github.css" rel="stylesheet" />
<!-- Extra CSS Libraries Start -->
<link href="assets/css/style.css" rel="stylesheet" type="text/css" />
<!-- Extra CSS Libraries End -->
<link href="assets/css/style-responsive.css" rel="stylesheet" />
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
<![endif]-->
<link rel="shortcut icon" href="assets/img/favicon.ico">
<link rel="apple-touch-icon" href="assets/img/apple-touch-icon.png" />
<link rel="apple-touch-icon" sizes="57x57" href="assets/img/apple-touch-icon-57x57.png" />
<link rel="apple-touch-icon" sizes="72x72" href="assets/img/apple-touch-icon-72x72.png" />
<link rel="apple-touch-icon" sizes="76x76" href="assets/img/apple-touch-icon-76x76.png" />
<link rel="apple-touch-icon" sizes="114x114" href="assets/img/apple-touch-icon-114x114.png" />
<link rel="apple-touch-icon" sizes="120x120" href="assets/img/apple-touch-icon-120x120.png" />
<link rel="apple-touch-icon" sizes="144x144" href="assets/img/apple-touch-icon-144x144.png" />
<link rel="apple-touch-icon" sizes="152x152" href="assets/img/apple-touch-icon-152x152.png" />
</head>
<body class="fixed-left">
<!-- Modal Start -->
<!-- Modal Task Progress -->
<div class="md-modal md-3d-flip-vertical" id="task-progress">
<div class="md-content">
<h3><strong>Task Progress</strong> Information</h3>
<div>
<p>CLEANING BUGS</p>
<div class="progress progress-xs for-modal">
<div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="80" aria-valuemin="0" aria-valuemax="100" style="width: 80%">
<span class="sr-only">80&#37; Complete</span>
</div>
</div>
<p>POSTING SOME STUFF</p>
<div class="progress progress-xs for-modal">
<div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="80" aria-valuemin="0" aria-valuemax="100" style="width: 65%">
<span class="sr-only">65&#37; Complete</span>
</div>
</div>
<p>BACKUP DATA FROM SERVER</p>
<div class="progress progress-xs for-modal">
<div class="progress-bar progress-bar-info" role="progressbar" aria-valuenow="80" aria-valuemin="0" aria-valuemax="100" style="width: 95%">
<span class="sr-only">95&#37; Complete</span>
</div>
</div>
<p>RE-DESIGNING WEB APPLICATION</p>
<div class="progress progress-xs for-modal">
<div class="progress-bar progress-bar-primary" role="progressbar" aria-valuenow="80" aria-valuemin="0" aria-valuemax="100" style="width: 100%">
<span class="sr-only">100&#37; Complete</span>
</div>
</div>
<p class="text-center">
<button class="btn btn-danger btn-sm md-close">Close</button>
</p>
</div>
</div>
</div>
<!-- Modal Logout -->
<div class="md-modal md-just-me" id="logout-modal">
<div class="md-content">
<h3><strong>Logout</strong> Confirmation</h3>
<div>
<p class="text-center">Are you sure want to logout from this awesome system?</p>
<p class="text-center">
<button class="btn btn-danger md-close">Nope!</button>
<a href="login.html" class="btn btn-success md-close">Yeah, I'm sure</a>
</p>
</div>
</div>
</div> <!-- Modal End -->
<!-- Begin page -->
<div id="wrapper">
<!-- Top Bar Start -->
<div class="topbar">
<div class="topbar-left">
<div class="logo">
<h1><a href="#"><img src="assets/img/logo.png" alt="Logo"></a></h1>
</div>
<button class="button-menu-mobile open-left">
<i class="fa fa-bars"></i>
</button>
</div>
<!-- Button mobile view to collapse sidebar menu -->
<div class="navbar navbar-default" role="navigation">
<div class="container">
<div class="navbar-collapse2">
<ul class="nav navbar-nav hidden-xs">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="icon-th"></i></a>
<div class="dropdown-menu grid-dropdown">
<div class="row stacked">
<div class="col-xs-4">
<a href="javascript:;" data-app="notes-app" data-status="active"><i class="icon-edit"></i>Notes</a>
</div>
<div class="col-xs-4">
<a href="javascript:;" data-app="todo-app" data-status="active"><i class="icon-check"></i>Todo List</a>
</div>
<div class="col-xs-4">
<a href="javascript:;" data-app="calc" data-status="inactive"><i class="fa fa-calculator"></i>Calculator</a>
</div>
</div>
<div class="row stacked">
<div class="col-xs-4">
<a href="javascript:;" data-app="weather-widget" data-status="active"><i class="icon-cloud-3"></i>Weather</a>
</div>
<div class="col-xs-4">
<a href="javascript:;" data-app="calendar-widget2" data-status="active"><i class="icon-calendar"></i>Calendar</a>
</div>
<div class="col-xs-4">
<a href="javascript:;" data-app="stock-app" data-status="inactive"><i class="icon-chart-line"></i>Stocks</a>
</div>
</div>
<div class="clearfix"></div>
</div>
</li>
<li class="language_bar dropdown hidden-xs">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">English (US) <i class="fa fa-caret-down"></i></a>
<ul class="dropdown-menu pull-right">
<li><a href="#">German</a></li>
<li><a href="#">French</a></li>
<li><a href="#">Italian</a></li>
<li><a href="#">Spanish</a></li>
</ul>
</li>
</ul>
<ul class="nav navbar-nav navbar-right top-navbar">
<li class="dropdown iconify hide-phone">
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="fa fa-globe"></i><span class="label label-danger absolute">4</span></a>
<ul class="dropdown-menu dropdown-message">
<li class="dropdown-header notif-header"><i class="icon-bell-2"></i> New Notifications<a class="pull-right" href="#"><i class="fa fa-cog"></i></a></li>
<li class="unread">
<a href="#">
<p><strong>John Doe</strong> Uploaded a photo <strong>&#34;DSC000254.jpg&#34;</strong>
<br /><i>2 minutes ago</i>
</p>
</a>
</li>
<li class="unread">
<a href="#">
<p><strong>John Doe</strong> Created an photo album <strong>&#34;Fappening&#34;</strong>
<br /><i>8 minutes ago</i>
</p>
</a>
</li>
<li>
<a href="#">
<p><strong>John Malkovich</strong> Added 3 products
<br /><i>3 hours ago</i>
</p>
</a>
</li>
<li>
<a href="#">
<p><strong>Sonata Arctica</strong> Send you a message <strong>&#34;Lorem ipsum dolor...&#34;</strong>
<br /><i>12 hours ago</i>
</p>
</a>
</li>
<li>
<a href="#">
<p><strong>Johnny Depp</strong> Updated his avatar
<br /><i>Yesterday</i>
</p>
</a>
</li>
<li class="dropdown-footer">
<div class="btn-group btn-group-justified">
<div class="btn-group">
<a href="#" class="btn btn-sm btn-primary"><i class="icon-ccw-1"></i> Refresh</a>
</div>
<div class="btn-group">
<a href="#" class="btn btn-sm btn-danger"><i class="icon-trash-3"></i> Clear All</a>
</div>
<div class="btn-group">
<a href="#" class="btn btn-sm btn-success">See All <i class="icon-right-open-2"></i></a>
</div>
</div>
</li>
</ul>
</li>
<li class="dropdown iconify hide-phone">
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="fa fa-envelope"></i><span class="label label-danger absolute">3</span></a>
<ul class="dropdown-menu dropdown-message">
<li class="dropdown-header notif-header"><i class="icon-mail-2"></i> New Messages</li>
<li class="unread">
<a href="#" class="clearfix">
<img src="images/users/chat/2.jpg" class="xs-avatar ava-dropdown" alt="Avatar">
<strong>John Doe</strong><i class="pull-right msg-time">5 minutes ago</i><br />
<p>Duis autem vel eum iriure dolor in hendrerit ...</p>
</a>
</li>
<li class="unread">
<a href="#" class="clearfix">
<img src="images/users/chat/1.jpg" class="xs-avatar ava-dropdown" alt="Avatar">
<strong>Sandra Kraken</strong><i class="pull-right msg-time">22 minutes ago</i><br />
<p>Duis autem vel eum iriure dolor in hendrerit ...</p>
</a>
</li>
<li>
<a href="#" class="clearfix">
<img src="images/users/chat/3.jpg" class="xs-avatar ava-dropdown" alt="Avatar">
<strong>Zoey Lombardo</strong><i class="pull-right msg-time">41 minutes ago</i><br />
<p>Duis autem vel eum iriure dolor in hendrerit ...</p>
</a>
</li>
<li class="dropdown-footer"><div class=""><a href="#" class="btn btn-sm btn-block btn-primary"><i class="fa fa-share"></i> See all messages</a></div></li>
</ul>
</li>
<li class="dropdown iconify hide-phone"><a href="#" onclick="javascript:toggle_fullscreen()"><i class="icon-resize-full-2"></i></a></li>
<li class="dropdown topbar-profile">
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><span class="rounded-image topbar-profile-image"><img src="images/users/user-35.jpg"></span> Jane <strong>Doe</strong> <i class="fa fa-caret-down"></i></a>
<ul class="dropdown-menu">
<li><a href="#">My Profile</a></li>
<li><a href="#">Change Password</a></li>
<li><a href="#">Account Setting</a></li>
<li class="divider"></li>
<li><a href="#"><i class="icon-help-2"></i> Help</a></li>
<li><a href="lockscreen.html"><i class="icon-lock-1"></i> Lock me</a></li>
<li><a class="md-trigger" data-modal="logout-modal"><i class="icon-logout-1"></i> Logout</a></li>
</ul>
</li>
<li class="right-opener">
<a href="javascript:;" class="open-right"><i class="fa fa-angle-double-left"></i><i class="fa fa-angle-double-right"></i></a>
</li>
</ul>
</div>
<!--/.nav-collapse -->
</div>
</div>
</div>
<!-- Top Bar End -->
<!-- Left Sidebar Start -->
<div class="left side-menu">
<div class="sidebar-inner slimscrollleft">
<!-- Search form -->
<form role="search" class="navbar-form">
<div class="form-group">
<input type="text" placeholder="Search" class="form-control">
<button type="submit" class="btn search-button"><i class="fa fa-search"></i></button>
</div>
</form>
<div class="clearfix"></div>
<!--- Profile -->
<div class="profile-info">
<div class="col-xs-4">
<a href="profile.html" class="rounded-image profile-image"><img src="images/users/user-100.jpg"></a>
</div>
<div class="col-xs-8">
<div class="profile-text">Welcome <b>Jane</b></div>
<div class="profile-buttons">
<a href="javascript:;"><i class="fa fa-envelope-o pulse"></i></a>
<a href="#connect" class="open-right"><i class="fa fa-comments"></i></a>
<a href="javascript:;" title="Sign Out"><i class="fa fa-power-off text-red-1"></i></a>
</div>
</div>
</div>
<!--- Divider -->
<div class="clearfix"></div>
<hr class="divider" />
<div class="clearfix"></div>
<!--- Divider -->
<div id="sidebar-menu">
<ul><li class='has_sub'><a href='javascript:void(0);'><i class='icon-home-3'></i><span>Dashboard</span> <span class="pull-right"><i class="fa fa-angle-down"></i></span></a><ul><li><a href='index.html'><span>Dashboard v1</span></a></li><li><a href='index2.html'><span>Dashboard v2</span></a></li></ul></li><li class='has_sub'><a href='javascript:void(0);'><i class='icon-feather'></i><span>UI Elements</span> <span class="pull-right"><i class="fa fa-angle-down"></i></span></a><ul><li><a href='alerts.html' class='active'><span>Alerts</span></a></li><li><a href='buttons.html'><span>Buttons</span></a></li><li><a href='calendar.html'><span>Calendar</span></a></li><li><a href='grid.html'><span>Grid</span></a></li><li><a href='icons.html'><span>Icons</span></a></li><li><a href='modals.html'><span>Modals</span></a></li><li><a href='nested-list.html'><span>Nested List</span></a></li><li><a href='notifications.html'><span>Notifications</span></a></li><li><a href='portlets.html'><span>Portlets</span></a></li><li><a href='progress-bars.html'><span>Progress Bars</span></a></li><li><a href='tabs-accordions.html'><span>Tabs & Accordions</span></a></li><li><a href='typography.html'><span>Typography</span></a></li></ul></li><li class='has_sub'><a href='javascript:void(0);'><i class='icon-pencil-3'></i><span>Forms</span> <span class="pull-right"><i class="fa fa-angle-down"></i></span></a><ul><li><a href='forms.html'><span>Form Elements</span></a></li><li><a href='advanced-forms.html'><span>Advanced Forms</span></a></li><li><a href='form-wizard.html'><span>Form Wizard</span></a></li><li><a href='form-validation.html'><span>Form Validation</span></a></li><li><a href='form-uploads.html'><span>File Uploads</span></a></li></ul></li><li class='has_sub'><a href='javascript:void(0);'><i class='fa fa-table'></i><span>Tables</span> <span class="pull-right"><i class="fa fa-angle-down"></i></span></a><ul><li><a href='tables.html'><span>Basic Tables</span></a></li><li><a href='datatables.html'><span>Datatables</span></a></li></ul></li><li class='has_sub'><a href='javascript:void(0);'><i class='fa fa-map-marker'></i><span>Maps</span> <span class="pull-right"><i class="fa fa-angle-down"></i></span></a><ul><li><a href='google-maps.html'><span>Google Maps</span></a></li><li><a href='vector-maps.html'><span>Vector Maps</span></a></li></ul></li><li class='has_sub'><a href='javascript:void(0);'><i class='fa fa-envelope'></i><span>Email</span> <span class="pull-right"><i class="fa fa-angle-down"></i></span></a><ul><li><a href='inbox.html'><span>Inbox</span></a></li><li><a href='read-message.html'><span>View Email</span></a></li><li><a href='new-message.html'><span>New Message</span></a></li></ul></li><li class='has_sub'><a href='javascript:void(0);'><i class='icon-chart-line'></i><span>Charts</span> <span class="pull-right"><i class="fa fa-angle-down"></i></span></a><ul><li><a href='sparkline-charts.html'><span>Sparkline Charts</span></a></li><li><a href='morris-charts.html'><span>Morris Charts</span></a></li><li><a href='rickshaw-charts.html'><span>Rickshaw Charts</span></a></li><li><a href='other-charts.html'><span>Other Charts</span></a></li></ul></li><li class='has_sub'><a href='javascript:void(0);'><i class='icon-megaphone'></i><span>Extras</span> <span class="pull-right"><i class="fa fa-angle-down"></i></span></a><ul><li><a href='blank.html'><span>Blank Page</span></a></li><li><a href='login.html'><span>Login</span></a></li><li><a href='register.html'><span>Register</span></a></li><li><a href='lockscreen.html'><span>Lock Screen</span></a></li><li><a href='404.html'><span>404 Error</span></a></li><li><a href='500.html'><span>500 Error</span></a></li><li><a href='profile.html'><span>User Profile</span></a></li><li><a href='invoice.html'><span>Invoice</span></a></li><li><a href='gallery.html'><span>Gallery</span></a></li><li><a href='maintenance.html'><span>Maintenance</span></a></li><li class='has_sub'><a href='javascript:void(0);'><span>3 Level menu</span> <span class="pull-right"><i class="fa fa-angle-down"></i></span></a><ul><li><a href='javascript:void(0);'><span>Sub Item</span></a></li></ul></li><li class='has_sub'><a href='javascript:void(0);'><span>4 Level Menu</span> <span class="pull-right"><i class="fa fa-angle-down"></i></span></a><ul><li class='has_sub'><a href='javascript:void(0);'><span>Sub Item - level 3</span> <span class="pull-right"><i class="fa fa-angle-down"></i></span></a><ul><li><a href='javascript:void(0);'><span>Sub Item - level 4</span></a></li></ul></li></ul></li><li class='has_sub'><a href='javascript:void(0);'><span>Submenu with icons</span> <span class="pull-right"><i class="fa fa-angle-down"></i></span></a><ul><li><a href='javascript:void(0);'><i class='fa fa-camera'></i><span>Item with icon</span></a></li><li><a href='javascript:void(0);'><i class='entypo entypo-users'></i><span>Another Item</span></a></li></ul></li></ul></li></ul> <div class="clearfix"></div>
</div>
<div class="clearfix"></div>
<div class="portlets">
<div id="chat_groups" class="widget transparent nomargin">
<h2>Chat Groups</h2>
<div class="widget-content">
<ul class="list-unstyled">
<li><a href="javascript:;"><i class="fa fa-circle-o text-red-1"></i> Colleagues</a></li>
<li><a href="javascript:;"><i class="fa fa-circle-o text-blue-1"></i> Family</a></li>
<li><a href="javascript:;"><i class="fa fa-circle-o text-green-1"></i> Friends</a></li>
</ul>
</div>
</div>
<div id="recent_tickets" class="widget transparent nomargin">
<h2>Recent Tickets</h2>
<div class="widget-content">
<ul class="list-unstyled">
<li>
<a href="javascript:;">My wordpress blog is broken <span>I was trying to save my page and...</span></a>
</li>
<li>
<a href="javascript:;">Server down, need help!<span>My server is not responding for the last...</span></a>
</li>
</ul>
</div>
</div>
</div>
<div class="clearfix"></div><br><br><br>
</div>
<div class="left-footer">
<div class="progress progress-xs">
<div class="progress-bar bg-green-1" role="progressbar" aria-valuenow="80" aria-valuemin="0" aria-valuemax="100" style="width: 80%">
<span class="progress-precentage">80%</span>
</div>
<a data-toggle="tooltip" title="See task progress" class="btn btn-default md-trigger" data-modal="task-progress"><i class="fa fa-inbox"></i></a>
</div>
</div>
</div>
<!-- Left Sidebar End --> <!-- Right Sidebar Start -->
<div class="right side-menu">
<ul class="nav nav-tabs nav-justified" id="right-tabs">
<li class="active"><a href="#feed" data-toggle="tab" title="Live Feed"><i class="icon-rss-2"></i></a></li>
<li><a href="#connect" data-toggle="tab" title="Chat"><i class="icon-chat"></i></a></li>
<li><a href="#settings" data-toggle="tab" title="Preferences"><i class="icon-wrench"></i></a></li>
</ul>
<div class="clearfix"></div>
<div class="tab-content">
<div class="tab-pane active" id="feed">
<div class="tab-inner slimscroller">
<div class="search-right">
<input type="text" class="form-control" placeholder="Search">
</div>
<div class="right-toolbar">
<a href="javascript:;" class="pull-right">Settings <i class="icon-cog"></i></a>
<div class="clearfix"></div>
</div>
<div class="clearfix"></div>
<div class="panel-group" id="collapse">
<div class="panel panel-default">
<div class="panel-heading bg-orange-1">
<h4 class="panel-title">
<a data-toggle="collapse" data-parent="#accordion" href="#rnotifications">
<i class="icon-bell-2"></i> Notifications
<span class="label bg-darkblue-1 pull-right">4</span>
</a>
</h4>
</div>
<div id="rnotifications" class="panel-collapse collapse in">
<div class="panel-body">
<ul class="list-unstyled" id="notification-list">
<li><a href="javascript:;"><span class="icon-wrapper"><i class="icon-video"></i></span> 1 Video Uploaded <span class="muted">12 minutes ago</span></a></li>
<li><a href="javascript:;"><span class="icon-wrapper"><i class="icon-users-1"></i></span> 3 Users signed up <span class="muted">16 minutes ago</span></a></li>
<li><a href="javascript:;"><span class="icon-wrapper"><i class="icon-picture-1"></i></span> 1 Video Uploaded <span class="muted">12 minutes ago</span></a></li>
<li><a href="javascript:;"><span class="icon-wrapper"><i class="icon-hourglass-1"></i></span> Deadline for 1 project <span class="muted">12 minutes ago</span></a></li>
</ul>
<a class="btn btn-block btn-sm btn-warning">See all notifications</a>
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading bg-green-3">
<h4 class="panel-title">
<a data-toggle="collapse" data-parent="#accordion" href="#remails">
<i class="icon-mail"></i> E-mails
<span class="label bg-darkblue-1 pull-right">3</span>
</a>
</h4>
</div>
<div id="remails" class="panel-collapse collapse in">
<div class="panel-body">
<ul class="list-unstyled" id="inbox-list">
<li><a href="javascript:;"><span class="sender"><i class="icon-star text-yellow-2"></i> Kim Wilde</span> <span class="datetime">6 mins ago</span>
<span class="title">You keep me hangin on</span>
<span class="content">Where are you? I am waiting for 3 hours in the restaurant. I ate 3 hamburgers.</span>
</a></li>
<li><a href="javascript:;"><span class="sender">Tyler Durden</span> <span class="datetime">13 hours ago</span>
<span class="title">Buy some soap from market before</span>
<span class="content">We are crowded here. We need some more soap at home. Buy some before you come home.</span>
</a></li>
<li><a href="javascript:;"><span class="sender">John Bonomo</span> <span class="datetime">Yesterday</span>
<span class="title">Late delivery</span>
<span class="content">Hello, I ordered 15 box of viagra for a friend of mine but he still hasn't receive them.</span>
</a></li>
</ul>
<a class="btn btn-block btn-sm btn-primary">Go to inbox</a>
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading bg-blue-1">
<h4 class="panel-title">
<a data-toggle="collapse" data-parent="#accordion" href="#rupdates">
<i class="icon-signal-2"></i> Updates
<span class="label bg-darkblue-1 pull-right">5</span>
</a>
</h4>
</div>
<div id="rupdates" class="panel-collapse collapse in">
<div class="panel-body">
<ul class="list-unstyled" id="updates-list">
<li><a href="javascript:;"><span class="icon-wrapper bg-green-1"><i class="icon-comment-1"></i></span> <b>David Guetta</b> came online <abbr title="15 seconds ago">just now</abbr>.</a></li>
<li><a href="javascript:;"><span class="icon-wrapper bg-red-1"><i class="icon-user-3"></i></span> <b>Katy Perry</b> updated her profile <abbr title="4 mins ago">4 mins ago</abbr>.</a></li>
<li><a href="javascript:;"><span class="icon-wrapper bg-blue-1"><i class="icon-twitter-2"></i></span> <b>4 tweets posted</b> with cronjob <abbr title="22 mins ago">22 mins ago</abbr>.</a></li>
<li><a href="javascript:;"><span class="icon-wrapper bg-orange-3"><i class="icon-water"></i></span> <b>Adele</b> set fire to the rain <abbr title="43 mins ago">43 mins ago</abbr>.</a></li>
<li><a href="javascript:;"><span class="icon-wrapper bg-pink-2"><i class="icon-heart-broken"></i></span> <b>Taylor Swift</b> learned that you are trouble <abbr title="3 hours ago">3 days ago</abbr>.</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="tab-pane" id="connect">
<div class="tab-inner slimscroller">
<div class="search-right">
<input type="text" class="form-control" placeholder="Search">
</div>
<div class="panel-group" id="collapse">
<div class="panel panel-default" id="chat-panel">
<div class="panel-heading bg-darkblue-2">
<h4 class="panel-title">
<a data-toggle="collapse" href="#chat-coll">
<i class="icon-briefcase-1"></i> Colleagues
<span class="label bg-darkblue-1 pull-right">14</span>
</a>
</h4>
</div>
<div id="chat-coll" class="panel-collapse collapse in">
<div class="panel-body">
<ul class="list-unstyled" id="chat-list">
<li><a href="javascript:;" class="online"><span class="chat-user-avatar"><img src="images/users/chat/1.jpg"></span> <span class="chat-user-name">Dorothy Simons</span><span class="chat-user-msg">I wish I was a bird in the sky</span></a></li>
<li><a href="javascript:;" class="online"><span class="chat-user-avatar"><img src="images/users/chat/2.jpg"></span> <span class="chat-user-name">John Malkovich</span><span class="chat-user-msg">You were the traitor</span></a></li>
<li><a href="javascript:;" class="online"><span class="chat-user-avatar"><img src="images/users/chat/3.jpg"></span> <span class="chat-user-name">Jessica Simons</span><span class="chat-user-msg">Where is my mind</span></a></li>
<li><a href="javascript:;" class="away"><span class="chat-user-avatar"><img src="images/users/chat/4.jpg"></span> <span class="chat-user-name">Jack Stallman</span><span class="chat-user-msg">Away since 13:32</span></a></li>
<li><a href="javascript:;" class="offline"><span class="chat-user-avatar"><img src="images/users/chat/5.jpg"></span> <span class="chat-user-name">Neil Armstrong</span><span class="chat-user-msg" title="I am flying to the moon and back">I am flying to the moon and back</span></a></li>
<li><a href="javascript:;" class="offline"><span class="chat-user-avatar"><img src="images/users/chat/6.jpg"></span> <span class="chat-user-name">Hollywood Studios</span><span class="chat-user-msg">Yes he definitely is!</span></a></li>
</ul>
</div>
</div>
</div>
<div class="panel panel-default" id="chat-panel">
<div class="panel-heading bg-darkblue-2">
<h4 class="panel-title">
<a data-toggle="collapse" data-parent="#accordion" href="#collapseTwo">
<i class="icon-heart-3"></i> Friends
<span class="label bg-darkblue-1 pull-right">3</span>
</a>
</h4>
</div>
<div id="collapseTwo" class="panel-collapse collapse in">
<div class="panel-body">
<ul class="list-unstyled" id="chat-list">
<li><a href="javascript:;" class="online"><span class="chat-user-avatar"><img src="images/users/chat/1.jpg"></span> <span class="chat-user-name">Dorothy Simons</span><span class="chat-user-msg">I wish I was a bird in the sky</span></a></li>
<li><a href="javascript:;" class="online"><span class="chat-user-avatar"><img src="images/users/chat/2.jpg"></span> <span class="chat-user-name">John Malkovich</span><span class="chat-user-msg">You were the traitor</span></a></li>
<li><a href="javascript:;" class="online"><span class="chat-user-avatar"><img src="images/users/chat/3.jpg"></span> <span class="chat-user-name">Jessica Simons</span><span class="chat-user-msg" title="Eminem - The Monster ft. Rihanna"><i class="icon-play"></i> Eminem - The Monster ft. Rihanna</span></a></li>
<li><a href="javascript:;" class="away"><span class="chat-user-avatar"><img src="images/users/chat/4.jpg"></span> <span class="chat-user-name">Jack Stallman</span><span class="chat-user-msg">Away since 13:32</span></a></li>
<li><a href="javascript:;" class="offline"><span class="chat-user-avatar"><img src="images/users/chat/5.jpg"></span> <span class="chat-user-name">Neil Armstrong</span><span class="chat-user-msg" title="I am flying to the moon and back">I am flying to the moon and back</span></a></li>
<li><a href="javascript:;" class="offline"><span class="chat-user-avatar"><img src="images/users/chat/6.jpg"></span> <span class="chat-user-name">Hollywood Studios</span><span class="chat-user-msg">Yes he definitely is!</span></a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="tab-pane" id="settings">
<div class="tab-inner slimscroller">
<div class="col-sm-12">
<h3>Preferences</h3>
<div class="row">
<div class="col-xs-8">
Live data updates
</div>
<div class="col-xs-4">
<input type="checkbox" class="ios-switch ios-switch-success ios-switch-sm" checked />
</div>
</div>
<div class="row">
<div class="col-xs-8">
Live feeds
</div>
<div class="col-xs-4">
<input type="checkbox" class="ios-switch ios-switch-success ios-switch-sm" checked />
</div>
</div>
<div class="row">
<div class="col-xs-8">
Sync data to cloud
</div>
<div class="col-xs-4">
<input type="checkbox" class="ios-switch ios-switch-success ios-switch-sm" checked />
</div>
</div>
<div class="row">
<div class="col-xs-8">
Keep activity record
</div>
<div class="col-xs-4">
<input type="checkbox" class="ios-switch ios-switch-danger ios-switch-sm" checked />
</div>
</div>
<h4>Other Settings</h4>
<div class="row">
<div class="col-xs-12">
<label class="checkboxw"><input type="checkbox" checked> Autosave settings</label>
</div>
</div>
<div class="row">
<div class="col-xs-12">
<label class="checkboxw"><input type="checkbox"> Always online</label>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Right Sidebar End -->
<!-- Start right content -->
<div class="content-page">
<!-- ============================================================== -->
<!-- Start Content here -->
<!-- ============================================================== -->
<div class="content">
<!-- Page Heading Start -->
<div class="page-heading">
<h1><i class='fa fa-bell'></i> Alerts</h1>
<h3>Inner Alert & Notification Elements</h3> </div>
<!-- Page Heading End--> <div class="row">
<div class="col-md-6 portlets">
<div class="widget">
<div class="widget-header ">
<h2>Standard Alert Elements</h2>
<div class="additional-btn">
<a href="#" class="hidden reload"><i class="icon-ccw-1"></i></a>
<a href="#" class="widget-toggle"><i class="icon-down-open-2"></i></a>
<a href="#" class="widget-close"><i class="icon-cancel-3"></i></a>
</div>
</div>
<div class="widget-content padding">
<div class="alert alert-success">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. <a href="#" class="alert-link">Alert Link</a>.
</div>
<div class="alert alert-info">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. <a href="#" class="alert-link">Alert Link</a>.
</div>
<div class="alert alert-warning">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. <a href="#" class="alert-link">Alert Link</a>.
</div>
<div class="alert alert-danger nomargin">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. <a href="#" class="alert-link">Alert Link</a>.
</div>
</div>
</div>
</div>
<div class="col-md-6 portlets">
<div class="widget">
<div class="widget-header ">
<h2>Dismissable Alert Elements</h2>
<div class="additional-btn">
<a href="#" class="hidden reload"><i class="icon-ccw-1"></i></a>
<a href="#" class="widget-toggle"><i class="icon-down-open-2"></i></a>
<a href="#" class="widget-close"><i class="icon-cancel-3"></i></a>
</div>
</div>
<div class="widget-content padding">
<div class="alert alert-success alert-dismissable">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. <a href="#" class="alert-link">Alert Link</a>.
</div>
<div class="alert alert-info alert-dismissable">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. <a href="#" class="alert-link">Alert Link</a>.
</div>
<div class="alert alert-warning alert-dismissable">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. <a href="#" class="alert-link">Alert Link</a>.
</div>
<div class="alert alert-danger alert-dismissable">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. <a href="#" class="alert-link">Alert Link</a>.
</div>
<div class="alert alert-info fade in nomargin">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
<h4>Big one!</h4>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Cras mattis consectetur purus sit amet fermentum.</p>
<p>
<button type="button" class="btn btn-info">Wanna do this</button>
<button type="button" class="btn btn-white">Or do this</button>
</p>
</div>
</div>
</div>
</div>
</div>
<!-- Footer Start -->
<footer>
Huban Creative &copy; 2014
<div class="footer-links pull-right">
<a href="#">About</a><a href="#">Support</a><a href="#">Terms of Service</a><a href="#">Legal</a><a href="#">Help</a><a href="#">Contact Us</a>
</div>
</footer>
<!-- Footer End -->
</div>
<!-- ============================================================== -->
<!-- End content here -->
<!-- ============================================================== -->
</div>
<!-- End right content -->
</div>
<!-- End of page -->
<!-- the overlay modal element -->
<div class="md-overlay"></div>
<!-- End of eoverlay modal -->
<script>
var resizefunc = [];
</script>
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="assets/libs/jquery/jquery-1.11.1.min.js"></script>
<script src="assets/libs/bootstrap/js/bootstrap.min.js"></script>
<script src="assets/libs/jqueryui/jquery-ui-1.10.4.custom.min.js"></script>
<script src="assets/libs/jquery-ui-touch/jquery.ui.touch-punch.min.js"></script>
<script src="assets/libs/jquery-detectmobile/detect.js"></script>
<script src="assets/libs/jquery-animate-numbers/jquery.animateNumbers.js"></script>
<script src="assets/libs/ios7-switch/ios7.switch.js"></script>
<script src="assets/libs/fastclick/fastclick.js"></script>
<script src="assets/libs/jquery-blockui/jquery.blockUI.js"></script>
<script src="assets/libs/bootstrap-bootbox/bootbox.min.js"></script>
<script src="assets/libs/jquery-slimscroll/jquery.slimscroll.js"></script>
<script src="assets/libs/jquery-sparkline/jquery-sparkline.js"></script>
<script src="assets/libs/nifty-modal/js/classie.js"></script>
<script src="assets/libs/nifty-modal/js/modalEffects.js"></script>
<script src="assets/libs/sortable/sortable.min.js"></script>
<script src="assets/libs/bootstrap-fileinput/bootstrap.file-input.js"></script>
<script src="assets/libs/bootstrap-select/bootstrap-select.min.js"></script>
<script src="assets/libs/bootstrap-select2/select2.min.js"></script>
<script src="assets/libs/magnific-popup/jquery.magnific-popup.min.js"></script>
<script src="assets/libs/pace/pace.min.js"></script>
<script src="assets/libs/bootstrap-datepicker/js/bootstrap-datepicker.js"></script>
<script src="assets/libs/jquery-icheck/icheck.min.js"></script>
<!-- Demo Specific JS Libraries -->
<script src="assets/libs/prettify/prettify.js"></script>
<script src="assets/js/init.js"></script>
</body>
</html>

@ -0,0 +1,263 @@
/*Large Desktop*/
@media (min-width: 1200px) {
}
/*Desktop*/
@media (min-width: 992px) and (max-width: 1199px) {
}
/*Small desktop or tablet*/
@media (min-width: 768px) and (max-width: 991px) {
body{overflow-x: hidden;}
.table-responsive {
width: 100%;
margin-bottom: 15px;
overflow-x: scroll;
overflow-y: hidden;
border: 1px solid #dddddd;
-ms-overflow-style: -ms-autohiding-scrollbar;
-webkit-overflow-scrolling: touch;
}
.table-responsive > .table {
margin-bottom: 0;
}
.table-responsive > .table > thead > tr > th,
.table-responsive > .table > tbody > tr > th,
.table-responsive > .table > tfoot > tr > th,
.table-responsive > .table > thead > tr > td,
.table-responsive > .table > tbody > tr > td,
.table-responsive > .table > tfoot > tr > td {
white-space: nowrap;
}
.table-responsive > .table-bordered {
border: 0;
}
.table-responsive > .table-bordered > thead > tr > th:first-child,
.table-responsive > .table-bordered > tbody > tr > th:first-child,
.table-responsive > .table-bordered > tfoot > tr > th:first-child,
.table-responsive > .table-bordered > thead > tr > td:first-child,
.table-responsive > .table-bordered > tbody > tr > td:first-child,
.table-responsive > .table-bordered > tfoot > tr > td:first-child {
border-left: 0;
}
.table-responsive > .table-bordered > thead > tr > th:last-child,
.table-responsive > .table-bordered > tbody > tr > th:last-child,
.table-responsive > .table-bordered > tfoot > tr > th:last-child,
.table-responsive > .table-bordered > thead > tr > td:last-child,
.table-responsive > .table-bordered > tbody > tr > td:last-child,
.table-responsive > .table-bordered > tfoot > tr > td:last-child {
border-right: 0;
}
.table-responsive > .table-bordered > tbody > tr:last-child > th,
.table-responsive > .table-bordered > tfoot > tr:last-child > th,
.table-responsive > .table-bordered > tbody > tr:last-child > td,
.table-responsive > .table-bordered > tfoot > tr:last-child > td {
border-bottom: 0;
}
.button-menu-mobile{display: block;}
.navbar{margin: 0 0 0 40px;}
.mobile-sidebar{left: 0px;}
.mobile-content{left: 225px;right: -225px;}
.box-info .icon-box{
width: 45px;
font-size: 20px;
margin-top: 5px
}
.box-info .text-box p{font-size: 11px;}
.toolbar-btn-action{text-align: center;}
.gallery-wrap .column .inner .img-wrap{
height: 60px;
overflow: hidden;
background: #ddd;
}
.gallery-wrap .column-3 .inner .img-wrap{
height: 140px;
overflow: hidden;
background: #ddd;
}
.gallery-wrap .column-4 .inner .img-wrap{
height: 100px;
overflow: hidden;
background: #ddd;
}
.user-profile-sidebar{text-align: center;}
}
/*Phone*/
@media (max-width: 767px) {
body{overflow-x: hidden;}
.mobile-sidebar{left: 0px;}
.mobile-content{left: 250px;right: -250px;}
.box-info table{margin: 0 0 0 0;}
.box-info .table-responsive{border: none;}
.nav.navbar-nav.top-navbar li span.absolute {left: 25px;}
.box-info .additional .list-group{margin-bottom: -10px;}
.toolbar-btn-action{text-align: center;}
.gallery-wrap .column{width: 25%;}
.gallery-wrap .column-4{width: 33.33333333333333%;}
.gallery-wrap .column-3{width: 50%;}
.gallery-wrap .column .inner .img-wrap{
height: 70px;
overflow: hidden;
background: #ddd;
}
.gallery-wrap .column-3 .inner .img-wrap{
height: 140px;
overflow: hidden;
background: #ddd;
}
.gallery-wrap .column-4 .inner .img-wrap{
height: 105px;
overflow: hidden;
background: #ddd;
}
.widget.box-messages{
margin-top:0px;
}
footer{text-align: center;}
.navbar-nav{
float:left;
margin:0px;
}
.navbar{
border:none;
}
.navbar-nav .open .dropdown-menu{
float:left;
position: absolute;
background:#fff;
right:0px;
left:auto;
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}
.navbar-nav.navbar-right:last-child {
margin-right: -15px;
height:50px;
}
.open > .dropdown-menu {
display: block;
}
.nav-tabs.nav-justified > li {
display: table-cell;
width: 1%;
}
.navbar-nav > li > a{
padding-top: 15px;
padding-bottom: 15px;
}
.navbar-right{
float: right;
}
.navbar-nav > li{
display: inline-block;
}
.lock-screen{text-align: center;}
.profile-actions{
bottom:auto;
top:60px;
}
.widget-tabbed{
margin-top:40px;
}
.widget-tabbed .nav-tabs a{
font-size:0px !important;
}
.widget-tabbed .nav-tabs a i{
font-size:18px !important;
}
.the-timeline ul li.the-year{
font-size:30px;
}
.ava-lock-screen{text-align: center; margin-bottom: 20px;}
.ava-lock-screen img{
width: 100px;
margin: 0;
}
.open-right-sidebar .hide-phone{
display: none;
}
.la-pricing-table .la-col-4{width: 50%;}
.user-profile-sidebar{text-align: center;}
}
@media (max-width: 480px){
.box-info .icon-box{
width: 100%;
display: block;
}
.box-info .icon-box,.box-info .text-box{text-align: center;}
.gallery-wrap .column,.gallery-wrap .column-3,.gallery-wrap .column-4{width: 33.33333333333333%;}
.gallery-wrap .column .inner .img-wrap,.gallery-wrap .column-3 .inner .img-wrap,.gallery-wrap .column-4 .inner .img-wrap{height: 70px;}
.login-wrap{margin: 20px 0 0 0;}
.navbar-default {
border: none;
}
.open-right-sidebar .topbar-profile,.open-right-sidebar .hide-phone{
display: none;
}
.the-timeline ul li.the-year{
font-size:20px;
margin-left: 37%;
}
#wrapper:not(.enlarged) .topbar-profile,#wrapper:not(.enlarged) .hide-phone{
display: none;
}
#wrapper .content-page{
margin-left:0px !important;
padding-left:50px;
width:100%;
display: inline-block;
}
.open-right-sidebar .content-page > .content{
opacity: 0;
}
.side-menu{
z-index: 10 !important;
}
#weather h2{
top:90px;
}
#weather .w-region{
top:250px;
}
#stock-widget #stock-title{
display: none;
}
#stock-widget .stock-options{
margin-left: 15px;
}
.button-menu-mobile{display: block;}
}
@media (max-width: 420px){
.hide-phone{
display: none !important;
}
}
@media (max-width: 360px){
.gallery-wrap .column,.gallery-wrap .column-3,.gallery-wrap .column-4{width: 50%;}
.gallery-wrap .column .inner .img-wrap,.gallery-wrap .column-3 .inner .img-wrap,.gallery-wrap .column-4 .inner .img-wrap{height: 80px;}
.la-pricing-table .la-col-4{width: 100%;}
}
@media (max-width: 320px){
.gallery-wrap .column,.gallery-wrap .column-3,.gallery-wrap .column-4{width: 50%;}
.gallery-wrap .column .inner .img-wrap,.gallery-wrap .column-3 .inner .img-wrap,.gallery-wrap .column-4 .inner .img-wrap{height: 70px;}
}

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

@ -0,0 +1,85 @@
// Get all the keys from document
var keys = document.querySelectorAll('#calculator span');
var operators = ['+', '-', 'x', '÷'];
var decimalAdded = false;
// Add onclick event to all the keys and perform operations
for(var i = 0; i < keys.length; i++) {
keys[i].onclick = function(e) {
// Get the input and button values
var input = document.querySelector('.calc-screen');
var inputVal = input.innerHTML;
var btnVal = this.innerHTML;
// Now, just append the key values (btnValue) to the input string and finally use javascript's eval function to get the result
// If clear key is pressed, erase everything
if(btnVal == 'C') {
input.innerHTML = '';
decimalAdded = false;
}
// If eval key is pressed, calculate and display the result
else if(btnVal == '=') {
var equation = inputVal;
var lastChar = equation[equation.length - 1];
// Replace all instances of x and ÷ with * and / respectively. This can be done easily using regex and the 'g' tag which will replace all instances of the matched character/substring
equation = equation.replace(/x/g, '*').replace(/÷/g, '/');
// Final thing left to do is checking the last character of the equation. If it's an operator or a decimal, remove it
if(operators.indexOf(lastChar) > -1 || lastChar == '.')
equation = equation.replace(/.$/, '');
if(equation)
input.innerHTML = eval(equation);
decimalAdded = false;
}
// Basic functionality of the calculator is complete. But there are some problems like
// 1. No two operators should be added consecutively.
// 2. The equation shouldn't start from an operator except minus
// 3. not more than 1 decimal should be there in a number
// We'll fix these issues using some simple checks
// indexOf works only in IE9+
else if(operators.indexOf(btnVal) > -1) {
// Operator is clicked
// Get the last character from the equation
var lastChar = inputVal[inputVal.length - 1];
// Only add operator if input is not empty and there is no operator at the last
if(inputVal != '' && operators.indexOf(lastChar) == -1)
input.innerHTML += btnVal;
// Allow minus if the string is empty
else if(inputVal == '' && btnVal == '-')
input.innerHTML += btnVal;
// Replace the last operator (if exists) with the newly pressed operator
if(operators.indexOf(lastChar) > -1 && inputVal.length > 1) {
// Here, '.' matches any character while $ denotes the end of string, so anything (will be an operator in this case) at the end of string will get replaced by new operator
input.innerHTML = inputVal.replace(/.$/, btnVal);
}
decimalAdded =false;
}
// Now only the decimal problem is left. We can solve it easily using a flag 'decimalAdded' which we'll set once the decimal is added and prevent more decimals to be added once it's set. It will be reset when an operator, eval or clear key is pressed.
else if(btnVal == '.') {
if(!decimalAdded) {
input.innerHTML += btnVal;
decimalAdded = true;
}
}
// if any other key is pressed, just append it
else {
input.innerHTML += btnVal;
}
// prevent page jumps
e.preventDefault();
}
}

@ -0,0 +1,104 @@
var autosave;
var autosave_time = 5000; // miliseconds
$(document).ready(function(){
load_list();
$("#notes-list .scroller").slimscroll({
height: '330px',
size: "5px"
});
$(".add-note").click(function(){
save_note();
$("#notes-app").addClass("new-item");
$("#note-text").val("");
$("#note-text").attr("rel",guidGenerator());
});
$(".back-note-list").click(function(){
save_note();
$("#notes-app").removeClass("new-item");
});
$(document).on("click", "#notes-list .note-trunc", function(e){
e.preventDefault();
var id = $(this).attr("rel");
$("#note-text").attr("rel",id);
$("#note-text").val(localStorage.getItem(id));
$("#notes-app").addClass("new-item");
});
$(document).on("blur change", "#note-text", function(){
save_note();
});
$(document).on("click", "#notes-list .kill-note", function(e){
e.preventDefault();
var id = $(this).attr("rel");
bootbox.confirm("Are you sure to remove this note?", function(result) {
if(result === true){
localStorage.removeItem(id);
load_list();
}
});
});
autosave = window.setInterval(function(){
if($("#notes-app").hasClass("new-item")){
save_note();
}
},autosave_time);
});
function save_note(){
if($("#note-text").val() != ""){
$("#notes-app").addClass("saved");
localStorage.setItem($("#note-text").attr("rel"),$("#note-text").val());
console.log("Note saved!");
load_list();
window.setTimeout(function(){
$("#notes-app").removeClass("saved");
},1000);
return true;
}
return false;
}
function load_list(){
$("#notes-list ul").html("");
var ids = [];
for (var i = 0; i < localStorage.length; i++) {
var id = localStorage.length-i-1;
if(localStorage.key(id).startsWith("coco-note-")){
ids.push(id);
}
}
ids = ids.sort();
for (var x = 0;x < ids.length;x++){
var note = localStorage.getItem(localStorage.key(ids[x])).truncate(40);
$("#notes-list ul").append("<li><a href='javascript:;' class='note-trunc' rel='"+localStorage.key(ids[x])+"'>"+note+"</a><div class='btn-group pull-right'><a class='btn btn-sm btn-link kill-note' rel='"+localStorage.key(ids[x])+"'><i class='icon-trash'></i></a></div></li>");
}
}
function guidGenerator() {
var d = new Date().getTime();
d = 9999999999999-d;
var S4 = function() {
return (((1+Math.random())*0x10000)|0).toString(16).substring(1);
};
return "coco-note-"+(d+"-"+S4()+"-"+S4()+"-"+S4()+"-"+S4()+S4()+S4());
}
if (typeof String.prototype.startsWith != 'function') {
// see below for better implementation!
String.prototype.startsWith = function (str){
return this.indexOf(str) == 0;
};
}
String.prototype.truncate = function(m) {
return (this.length > m)
? jQuery.trim(this).substring(0, m) + "..."
: this;
};

@ -0,0 +1,80 @@
$(document).ready(function(){
$.fn.editable.defaults.mode = 'inline';
$(".todo-list").sortable({
cancel: ".done",
axis: "y",
cursor: "move",
forcePlaceholderSize: true
});
$(document).on("ifChecked", ".check-icon input", function(){
var parent = $(this).parents("li:first");
$(parent).addClass("done");
$(parent).data("orig-order",$(parent).index()).insertAfter($(".todo-list li:last"));
$('.todo-item',parent).editable("toggleDisabled");
});
$(document).on("ifUnchecked", ".check-icon input", function(){
var parent = $(this).parents("li:first");
$(parent).removeClass("done");
if($(parent).data("orig-order")){
$(parent).insertAfter($(".todo-list li:eq("+($(parent).data("orig-order")-1)+")"));
}
$('.todo-item',parent).editable("toggleDisabled");
});
$(document).on("click",".add-todo", function(){
var $item = '<li class="animated bounceInDown">'+
'<span class="check-icon"><input type="checkbox" /></span>'+
'<span class="todo-item">New item</span>'+
'<span class="todo-options pull-right">'+
'<a href="javascript:;" class="todo-delete"><i class="icon-cancel-3"></i></a>'+
'</span>'+
'</li>';
$(".todo-list").append($item);
$('input').iCheck({
checkboxClass: 'icheckbox_square-aero',
radioClass: 'iradio_square-aero',
increaseArea: '20%'
});
$('.todo-list .todo-item').editable({
type: 'text'
});
window.setTimeout(function () {
$(".todo-list li").removeClass("animated");
}, 500);
});
$(document).on("click", ".todo-delete", function(){
var parent = $(this).parents("li:first");
$(parent).hide(200);
})
var $contextMenu = $("#contextMenu");
var $rowClicked;
$(document).on("contextmenu", ".todo-list li", function (e) {
$rowClicked = $(this)
$contextMenu.css({
display: "block",
left: e.pageX,
top: e.pageY
});
return false;
});
$contextMenu.on("click", "a", function () {
$rowClicked.removeAttr("class").addClass($(this).data("priority"));
$contextMenu.hide();
});
$(document).click(function () {
$contextMenu.hide();
});
$('.todo-list .todo-item').editable({
type: 'text'
});
});

@ -0,0 +1,408 @@
var w;
var h;
var dw;
var dh;
function executeFunctionByName(functionName, context /*, args */) {
var args = [].slice.call(arguments).splice(2);
var namespaces = functionName.split(".");
var func = namespaces.pop();
for(var i = 0; i < namespaces.length; i++) {
context = context[namespaces[i]];
}
return context[func].apply(this, args);
}
var changeptype = function(){
w = $(window).width();
h = $(window).height();
dw = $(document).width();
dh = $(document).height();
if(jQuery.browser.mobile === true){
$("body").addClass("mobile").removeClass("fixed-left");
}
if(!$("#wrapper").hasClass("forced")){
if(w > 990){
$("body").removeClass("smallscreen").addClass("widescreen");
$("#wrapper").removeClass("enlarged");
}else{
$("body").removeClass("widescreen").addClass("smallscreen");
$("#wrapper").addClass("enlarged");
$(".left ul").removeAttr("style");
}
if($("#wrapper").hasClass("enlarged") && $("body").hasClass("fixed-left")){
$("body").removeClass("fixed-left").addClass("fixed-left-void");
}else if(!$("#wrapper").hasClass("enlarged") && $("body").hasClass("fixed-left-void")){
$("body").removeClass("fixed-left-void").addClass("fixed-left");
}
}
toggle_slimscroll(".slimscrollleft");
}
$(document).ready(function(){
FastClick.attach(document.body);
resizefunc.push("initscrolls");
resizefunc.push("changeptype");
$('.sparkline').sparkline('html', { enableTagOptions: true });
$('.animate-number').each(function(){
$(this).animateNumbers($(this).attr("data-value"), true, parseInt($(this).attr("data-duration")));
})
//TOOLTIP
$('body').tooltip({
selector: "[data-toggle=tooltip]",
container: "body"
});
//RESPONSIVE SIDEBAR
$(".open-right").click(function(e){
$("#wrapper").toggleClass("open-right-sidebar");
e.stopPropagation();
$("body").trigger("resize");
});
$(".open-left").click(function(e){
e.stopPropagation();
$("#wrapper").toggleClass("enlarged");
$("#wrapper").addClass("forced");
if($("#wrapper").hasClass("enlarged") && $("body").hasClass("fixed-left")){
$("body").removeClass("fixed-left").addClass("fixed-left-void");
}else if(!$("#wrapper").hasClass("enlarged") && $("body").hasClass("fixed-left-void")){
$("body").removeClass("fixed-left-void").addClass("fixed-left");
}
if($("#wrapper").hasClass("enlarged")){
$(".left ul").removeAttr("style");
}else{
$(".subdrop").siblings("ul:first").show();
}
toggle_slimscroll(".slimscrollleft");
$("body").trigger("resize");
});
// LEFT SIDE MAIN NAVIGATION
$("#sidebar-menu a").on('click',function(e){
if(!$("#wrapper").hasClass("enlarged")){
if($(this).parent().hasClass("has_sub")) {
e.preventDefault();
}
if(!$(this).hasClass("subdrop")) {
// hide any open menus and remove all other classes
$("ul",$(this).parents("ul:first")).slideUp(350);
$("a",$(this).parents("ul:first")).removeClass("subdrop");
$("#sidebar-menu .pull-right i").removeClass("fa-angle-up").addClass("fa-angle-down");
// open our new menu and add the open class
$(this).next("ul").slideDown(350);
$(this).addClass("subdrop");
$(".pull-right i",$(this).parents(".has_sub:last")).removeClass("fa-angle-down").addClass("fa-angle-up");
$(".pull-right i",$(this).siblings("ul")).removeClass("fa-angle-up").addClass("fa-angle-down");
}else if($(this).hasClass("subdrop")) {
$(this).removeClass("subdrop");
$(this).next("ul").slideUp(350);
$(".pull-right i",$(this).parent()).removeClass("fa-angle-up").addClass("fa-angle-down");
//$(".pull-right i",$(this).parents("ul:eq(1)")).removeClass("fa-chevron-down").addClass("fa-chevron-left");
}
}
});
// NAVIGATION HIGHLIGHT & OPEN PARENT
$("#sidebar-menu ul li.has_sub a.active").parents("li:last").children("a:first").addClass("active").trigger("click");
//WIDGET ACTIONS
$(".widget-header .widget-close").on("click",function(event){
event.preventDefault();
$item = $(this).parents(".widget:first");
bootbox.confirm("Are you sure to remove this widget?", function(result) {
if(result === true){
$item.addClass("animated bounceOutUp");
window.setTimeout(function () {
if($item.data("is-app")){
$item.removeClass("animated bounceOutUp");
if($item.hasClass("ui-draggable")){
$item.find(".widget-popout").click();
}
$item.hide();
$("a[data-app='"+$item.attr("id")+"']").addClass("clickable");
}else{
$item.remove();
}
}, 300);
}
});
});
$(document).on("click", ".widget-header .widget-toggle", function(event){
event.preventDefault();
$(this).toggleClass("closed").parents(".widget:first").find(".widget-content").slideToggle();
});
$(document).on("click", ".widget-header .widget-popout", function(event){
event.preventDefault();
var widget = $(this).parents(".widget:first");
if(widget.hasClass("modal-widget")){
$("i",this).removeClass("icon-window").addClass("icon-publish");
widget.removeAttr("style").removeClass("modal-widget");
widget.find(".widget-maximize,.widget-toggle").removeClass("nevershow");
widget.draggable("destroy").resizable("destroy");
}else{
widget.removeClass("maximized");
widget.find(".widget-maximize,.widget-toggle").addClass("nevershow");
$("i",this).removeClass("icon-publish").addClass("icon-window");
var w = widget.width();
var h = widget.height();
widget.addClass("modal-widget").removeAttr("style").width(w).height(h);
$(widget).draggable({ handle: ".widget-header",containment: ".content-page" }).css({"left":widget.position().left-2,"top":widget.position().top-2}).resizable({minHeight: 150,minWidth: 200});
}
window.setTimeout(function () {
$("body").trigger("resize");
},300);
});
$("a[data-app]").each(function(e){
var app = $(this).data("app");
var status = $(this).data("status");
$("#"+app).data("is-app",true);
if(status == "inactive"){
$("#"+app).hide();
$(this).addClass("clickable");
}
});
$(document).on("click", "a[data-app].clickable", function(event){
event.preventDefault();
$(this).removeClass("clickable");
var app = $(this).data("app");
$("#"+app).show();
$("#"+app+" .widget-popout").click();
topd = $("#"+app).offset().top - $(window).scrollTop();
$("#"+app).css({"left":"10","top":-(topd-60)+"px"}).addClass("fadeInDown animated");
window.setTimeout(function () {
$("#"+app).removeClass("fadeInDown animated");
}, 300);
});
$(document).on("click", ".widget", function(){
if($(this).hasClass("modal-widget")){
$(".modal-widget").css("z-index",5);
$(this).css("z-index",6);
}
});
$(document).on("click", '.widget .reload', function (event) {
event.preventDefault();
var el = $(this).parents(".widget:first");
blockUI(el);
window.setTimeout(function () {
unblockUI(el);
}, 1000);
});
$(document).on("click", ".widget-header .widget-maximize", function(event){
event.preventDefault();
$(this).parents(".widget:first").removeAttr("style").toggleClass("maximized");
$("i",this).toggleClass("icon-resize-full-1").toggleClass("icon-resize-small-1");
$(this).parents(".widget:first").find(".widget-toggle").toggleClass("nevershow");
$("body").trigger("resize");
return false;
});
$( ".portlets" ).sortable({
connectWith: ".portlets",
handle: ".widget-header",
cancel: ".modal-widget",
opacity: 0.5,
dropOnEmpty: true,
forcePlaceholderSize: true,
receive: function(event, ui) {$("body").trigger("resize")}
});
// Init Code Highlighter
prettyPrint();
//RUN RESIZE ITEMS
$(window).resize(debounce(resizeitems,100));
$("body").trigger("resize");
//SELECT
$('.selectpicker').selectpicker();
//FILE INPUT
$('input[type=file]').bootstrapFileInput();
//DATE PICKER
$('.datepicker-input').datepicker();
//ICHECK
$('input:not(.ios-switch)').iCheck({
checkboxClass: 'icheckbox_square-aero',
radioClass: 'iradio_square-aero',
increaseArea: '20%' // optional
});
// IOS7 SWITCH
$(".ios-switch").each(function(){
mySwitch = new Switch(this);
});
//GALLERY
$('.gallery-wrap').each(function() { // the containers for all your galleries
$(this).magnificPopup({
delegate: 'a.zooming', // the selector for gallery item
type: 'image',
removalDelay: 300,
mainClass: 'mfp-fade',
gallery: {
enabled:true
}
});
});
});
var debounce = function(func, wait, immediate) {
var timeout, result;
return function() {
var context = this, args = arguments;
var later = function() {
timeout = null;
if (!immediate) result = func.apply(context, args);
};
var callNow = immediate && !timeout;
clearTimeout(timeout);
timeout = setTimeout(later, wait);
if (callNow) result = func.apply(context, args);
return result;
};
}
function resizeitems(){
if($.isArray(resizefunc)){
for (i = 0; i < resizefunc.length; i++) {
window[resizefunc[i]]();
}
}
}
function initscrolls(){
if(jQuery.browser.mobile !== true){
//SLIM SCROLL
$('.slimscroller').slimscroll({
height: 'auto',
size: "5px"
});
$('.slimscrollleft').slimScroll({
height: 'auto',
position: 'left',
size: "5px",
color: '#7A868F'
});
}
}
function toggle_slimscroll(item){
if($("#wrapper").hasClass("enlarged")){
$(item).css("overflow","inherit").parent().css("overflow","inherit");
$(item). siblings(".slimScrollBar").css("visibility","hidden");
}else{
$(item).css("overflow","hidden").parent().css("overflow","hidden");
$(item). siblings(".slimScrollBar").css("visibility","visible");
}
}
function nifty_modal_alert(effect,header,text){
var randLetter = String.fromCharCode(65 + Math.floor(Math.random() * 26));
var uniqid = randLetter + Date.now();
$modal = '<div class="md-modal md-effect-'+effect+'" id="'+uniqid+'">';
$modal += '<div class="md-content">';
$modal += '<h3>'+header+'</h3>';
$modal += '<div class="md-modal-body">'+text;
$modal += '</div>';
$modal += '</div>';
$modal += '</div>';
$("body").prepend($modal);
window.setTimeout(function () {
$("#"+uniqid).addClass("md-show");
$(".md-overlay,.md-close").click(function(){
$("#"+uniqid).removeClass("md-show");
window.setTimeout(function () {$("#"+uniqid).remove();},500);
});
},100);
return false;
}
function blockUI(item) {
$(item).block({
message: '<div class="loading"></div>',
css: {
border: 'none',
width: '14px',
backgroundColor: 'none'
},
overlayCSS: {
backgroundColor: '#fff',
opacity: 0.4,
cursor: 'wait'
}
});
}
function unblockUI(item) {
$(item).unblock();
}
function toggle_fullscreen(){
var fullscreenEnabled = document.fullscreenEnabled || document.mozFullScreenEnabled || document.webkitFullscreenEnabled;
if(fullscreenEnabled){
if(!document.fullscreenElement && !document.mozFullScreenElement && !document.webkitFullscreenElement && !document.msFullscreenElement) {
launchIntoFullscreen(document.documentElement);
}else{
exitFullscreen();
}
}
}
// Thanks to http://davidwalsh.name/fullscreen
function launchIntoFullscreen(element) {
if(element.requestFullscreen) {
element.requestFullscreen();
} else if(element.mozRequestFullScreen) {
element.mozRequestFullScreen();
} else if(element.webkitRequestFullscreen) {
element.webkitRequestFullscreen();
} else if(element.msRequestFullscreen) {
element.msRequestFullscreen();
}
}
function exitFullscreen() {
if(document.exitFullscreen) {
document.exitFullscreen();
} else if(document.mozCancelFullScreen) {
document.mozCancelFullScreen();
} else if(document.webkitExitFullscreen) {
document.webkitExitFullscreen();
}
}

File diff suppressed because one or more lines are too long

@ -0,0 +1,126 @@
$(function () {
function runCalendar() {
var $modal = $('#event-modal');
$('#draggable-events div.draggable-event').each(function () {
// create an Event Object (http://arshaw.com/fullcalendar/docs/event_data/Event_Object/)
// it doesn't need to have a start or end
var eventObject = {
title: $.trim($(this).text()) // use the element's text as the event title
};
// store the Event Object in the DOM element so we can get to it later
$(this).data('eventObject', eventObject);
// make the event draggable using jQuery UI
$(this).draggable({
zIndex: 999,
revert: true, // will cause the event to go back to its
revertDuration: 20 // original position after the drag
});
});
/* Initialize the calendar */
var date = new Date();
var d = date.getDate();
var m = date.getMonth();
var y = date.getFullYear();
var form = '';
var calendar = $('#calendar').fullCalendar({
slotDuration: '00:15:00', /* If we want to split day time each 15minutes */
minTime: '08:00:00',
maxTime: '19:00:00',
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
events: [{
title: 'Take your pills!',
start: new Date(y, m, 2),
className: 'bg-darkblue-2'
}, {
title: 'Visit Doctor',
start: '2014-05-15 14:00:00',
start: '2014-05-15 15:00:00',
className: 'bg-red-1'
}],
editable: true,
droppable: true, // this allows things to be dropped onto the calendar !!!
drop: function (date, allDay) { // this function is called when something is dropped
// retrieve the dropped element's stored Event Object
var originalEventObject = $(this).data('eventObject');
var $categoryClass = $(this).attr('data-class');
// we need to copy it, so that multiple events don't have a reference to the same object
var copiedEventObject = $.extend({}, originalEventObject);
// assign it the date that was reported
copiedEventObject.start = date;
copiedEventObject.allDay = allDay;
if ($categoryClass)
copiedEventObject['className'] = [$categoryClass];
// render the event on the calendar
// the last `true` argument determines if the event "sticks" (http://arshaw.com/fullcalendar/docs/event_rendering/renderEvent/)
$('#calendar').fullCalendar('renderEvent', copiedEventObject, true);
// is the "remove after drop" checkbox checked?
if ($('#drop-remove').is(':checked')) {
// if so, remove the element from the "Draggable Events" list
$(this).remove();
}
},
selectable: true,
eventClick: function (calEvent, jsEvent, view) {
var form = $("<form></form>");
form.append("<label>Change event name</label>");
form.append("<div class='input-group'><input class='form-control' type=text value='" + calEvent.title + "' /><span class='input-group-btn'><button type='submit' class='btn btn-success'><i class='fa fa-check'></i> Save Changes</button></span></div>");
$modal.modal({
backdrop: 'static'
});
$modal.find('.delete-event').show().end().find('.save-event').hide().end().find('.modal-body').empty().prepend(form).end().find('.delete-event').unbind('click').click(function () {
calendar.fullCalendar('removeEvents', function (ev) {
return (ev._id == calEvent._id);
});
$modal.modal('hide');
});
$modal.find('form').on('submit', function () {
calEvent.title = form.find("input[type=text]").val();
calendar.fullCalendar('updateEvent', calEvent);
$modal.modal('hide');
return false;
});
},
select: function (start, end, allDay) {
$modal.modal({
backdrop: 'static'
});
form = $("<form></form>");
form.append("<div class='row'></div>");
form.find(".row").append("<div class='col-md-6'><div class='form-group'><label class='control-label'>Event Name</label><input class='form-control' placeholder='Insert Event Name' type='text' name='title'/></div></div>").append("<div class='col-md-6'><div class='form-group'><label class='control-label'>Category</label><select class='form-control' name='category'></select></div></div>").find("select[name='category']").append("<option value='bg-red'>Work</option>")
.append("<option value='bg-green-1'>Entertainment</option>").append("<option value='bg-pink-1'>Meeting</option>").append("<option value='bg-lightblue-1'>Lunch</option>").append("<option value='bg-red-1'>Work</option>").append("<option value='bg-blue-1'>Sport</option>");
$modal.find('.delete-event').hide().end().find('.save-event').show().end().find('.modal-body').empty().prepend(form).end().find('.save-event').unbind('click').click(function () {
form.submit();
});
$modal.find('form').on('submit', function () {
title = form.find("input[name='title']").val();
$categoryClass = form.find("select[name='category'] option:checked").val();
if (title !== null && title.length != 0) {
calendar.fullCalendar('renderEvent', {
title: title,
start: start,
end: end,
allDay: false,
className: $categoryClass
}, true);
}
else{
alert('You need a title for the event!');
}
$modal.modal('hide');
return false;
});
calendar.fullCalendar('unselect');
}
});
}
runCalendar();
});

@ -0,0 +1,60 @@
$(function(){
$("#datatables-1").dataTable();
var table = $('#datatables-2').DataTable();
$("#datatables-2 tfoot th").each( function ( i ) {
var select = $('<select class="form-control input-sm"><option value=""></option></select>')
.appendTo( $(this).empty() )
.on( 'change', function () {
table.column( i )
.search( '^'+$(this).val()+'$', true, false )
.draw();
} );
table.column( i ).data().unique().sort().each( function ( d, j ) {
select.append( '<option value="'+d+'">'+d+'</option>' )
} );
} );
$('#datatables-3').dataTable( {
"footerCallback": function ( row, data, start, end, display ) {
var api = this.api(), data;
// Remove the formatting to get integer data for summation
var intVal = function ( i ) {
return typeof i === 'string' ?
i.replace(/[\$,]/g, '')*1 :
typeof i === 'number' ?
i : 0;
};
// Total over all pages
data = api.column( 4 ).data();
total = data.length ?
data.reduce( function (a, b) {
return intVal(a) + intVal(b);
} ) :
0;
// Total over this page
data = api.column( 4, { page: 'current'} ).data();
pageTotal = data.length ?
data.reduce( function (a, b) {
return intVal(a) + intVal(b);
} ) :
0;
// Update footer
$( api.column( 4 ).footer() ).html(
'$'+pageTotal +' ( $'+ total +' total)'
);
}
} );
$('#datatables-4').DataTable( {
dom: 'T<"clear">lfrtip',
tableTools: {
"sSwfPath": "./assets/libs/jquery-datatables/extensions/TableTools/swf/copy_csv_xls_pdf.swf"
}
} );
})

@ -0,0 +1,290 @@
$(document).ready(function() {
// Generate a simple captcha
function randomNumber(min, max) {
return Math.floor(Math.random() * (max - min + 1) + min);
};
$('#captchaOperation').html([randomNumber(1, 20), '+', randomNumber(1, 30), '='].join(' '));
//EXAMPLE REGISTER FORM
$('#registerForm').bootstrapValidator({
message: 'This value is not valid',
fields: {
username: {
message: 'The username is not valid',
validators: {
notEmpty: {
message: 'The username is required and can\'t be empty'
},
stringLength: {
min: 6,
max: 30,
message: 'The username must be more than 6 and less than 30 characters long'
},
regexp: {
regexp: /^[a-zA-Z0-9_\.]+$/,
message: 'The username can only consist of alphabetical, number, dot and underscore'
},
different: {
field: 'password',
message: 'The username and password can\'t be the same as each other'
}
}
},
email: {
validators: {
notEmpty: {
message: 'The email address is required and can\'t be empty'
},
emailAddress: {
message: 'The input is not a valid email address'
}
}
},
password: {
validators: {
notEmpty: {
message: 'The password is required and can\'t be empty'
},
identical: {
field: 'confirmPassword',
message: 'The password and its confirm are not the same'
},
different: {
field: 'username',
message: 'The password can\'t be the same as username'
}
}
},
confirmPassword: {
validators: {
notEmpty: {
message: 'The confirm password is required and can\'t be empty'
},
identical: {
field: 'password',
message: 'The password and its confirm are not the same'
},
different: {
field: 'username',
message: 'The password can\'t be the same as username'
}
}
},
phoneNumber: {
validators: {
digits: {
message: 'The value can contain only digits'
}
}
},
acceptTerms: {
validators: {
notEmpty: {
message: 'You have to accept the terms and policies'
}
}
},
captcha: {
validators: {
callback: {
message: 'Wrong answer',
callback: function(value, validator) {
var items = $('#captchaOperation').html().split(' '), sum = parseInt(items[0]) + parseInt(items[2]);
return value == sum;
}
}
}
}
}
});
//EXAMPLE CONTACT FORM
$('#contactForm').bootstrapValidator({
message: 'This value is not valid',
fields: {
name: {
message: 'Name is not valid',
validators: {
notEmpty: {
message: 'Name is required and can\'t be empty'
},
regexp: {
regexp: /^[a-zA-Z0-9_\.]+$/,
message: 'Name can only consist of alphabetical, number, dot and underscore'
}
}
},
email: {
validators: {
notEmpty: {
message: 'The email address is required and can\'t be empty'
},
emailAddress: {
message: 'The input is not a valid email address'
}
}
},
website: {
validators: {
uri: {
message: 'The input is not a valid URL'
}
}
},
Contactmessage: {
validators: {
notEmpty: {
message: 'Message is required and can\'t be empty'
},
stringLength: {
min: 6,
message: 'Message must be more than 6 characters long'
}
}
},
captcha: {
validators: {
callback: {
message: 'Wrong answer',
callback: function(value, validator) {
var items = $('#captchaOperation').html().split(' '), sum = parseInt(items[0]) + parseInt(items[2]);
return value == sum;
}
}
}
}
}
});
//Regular expression based validators
$('#ExpressionValidator').bootstrapValidator({
message: 'This value is not valid',
fields: {
email: {
validators: {
notEmpty: {
message: 'The email address is required and can\'t be empty'
},
emailAddress: {
message: 'The input is not a valid email address'
}
}
},
website: {
validators: {
uri: {
message: 'The input is not a valid URL'
}
}
},
phoneNumber: {
validators: {
digits: {
message: 'The value can contain only digits'
}
}
},
color: {
validators: {
hexColor: {
message: 'The input is not a valid hex color'
}
}
},
zipCode: {
validators: {
usZipCode: {
message: 'The input is not a valid US zip code'
}
}
}
}
});
//Regular expression based validators
$('#NotEmptyValidator').bootstrapValidator({
message: 'This value is not valid',
fields: {
username: {
message: 'The username is not valid',
validators: {
notEmpty: {
message: 'The username is required and can\'t be empty'
},
stringLength: {
min: 6,
max: 30,
message: 'The username must be more than 6 and less than 30 characters long'
},
regexp: {
regexp: /^[a-zA-Z0-9_\.]+$/,
message: 'The username can only consist of alphabetical, number, dot and underscore'
}
}
},
country: {
validators: {
notEmpty: {
message: 'The country is required and can\'t be empty'
}
}
}
}
});
//Regular expression based validators
$('#IdenticalValidator').bootstrapValidator({
message: 'This value is not valid',
fields: {
password: {
validators: {
notEmpty: {
message: 'The password is required and can\'t be empty'
},
identical: {
field: 'confirmPassword',
message: 'The password and its confirm are not the same'
}
}
},
confirmPassword: {
validators: {
notEmpty: {
message: 'The confirm password is required and can\'t be empty'
},
identical: {
field: 'password',
message: 'The password and its confirm are not the same'
}
}
}
}
});
//Regular expression based validators
$('#OtherValidator').bootstrapValidator({
message: 'This value is not valid',
fields: {
ages: {
validators: {
lessThan: {
value: 100,
inclusive: true,
message: 'The ages has to be less than 100'
},
greaterThan: {
value: 10,
inclusive: false,
message: 'The ages has to be greater than or equals to 10'
}
}
}
}
});
});

@ -0,0 +1,6 @@
$(function() {
$('#myWizard').easyWizard({
buttonsClass: 'btn btn-default',
submitButtonClass: 'btn btn-primary'
});
});

@ -0,0 +1,5 @@
$(function() {
$('.summernote').summernote({
height: 500
});
});

@ -0,0 +1,168 @@
$(function(){
$("#gmap-1").gmap3({
marker:{
latLng: [46.578498,2.457275],
options:{
draggable:true
},
events:{
dragend: function(marker){
$(this).gmap3({
getaddress:{
latLng:marker.getPosition(),
callback:function(results){
var map = $(this).gmap3("get"),
infowindow = $(this).gmap3({get:"infowindow"}),
content = results && results[1] ? results && results[1].formatted_address : "no address";
if (infowindow){
infowindow.open(map, marker);
infowindow.setContent(content);
} else {
$(this).gmap3({
infowindow:{
anchor:marker,
options:{content: content}
}
});
}
}
}
});
}
}
},
map:{
options:{
zoom: 5
}
}
});
$("#gmap-2").gmap3({
map:{
options:{
center:[46.578498,2.457275],
zoom: 4,
mapTypeId: google.maps.MapTypeId.TERRAIN
}
},
marker:{
values: [
[49.28952958093682, 6.152559438984804],
{
latLng:[44.28952958093682, 6.152559438984804],
options:{
icon: "http://maps.google.com/mapfiles/marker_green.png"
}
},
[49.28952958093682, -1.1501188139848408],
{
latLng:[44.28952958093682, -1.1501188139848408],
events:{
click:function(){
alert("I'm the last one, and i have my own click event");
}
}
}
],
events:{ // events trigged by markers
click: function(){
alert("Here is the default click event");
}
},
cluster:{
radius: 100,
0: {
content: "<div class='cluster cluster-1'>CLUSTER_COUNT</div>",
width: 53,
height: 52
},
20: {
content: "<div class='cluster cluster-2'>CLUSTER_COUNT</div>",
width: 56,
height: 55
},
50: {
content: "<div class='cluster cluster-3'>CLUSTER_COUNT</div>",
width: 66,
height: 65
}
}
}
});
var fenway = new google.maps.LatLng(42.345573,-71.098326);
$("#gmap-3").gmap3({
map:{
options:{
zoom: 14,
mapTypeId: google.maps.MapTypeId.ROADMAP,
streetViewControl: true,
center: fenway
}
},
streetviewpanorama:{
options:{
container: $("#gmap-4"),
opts:{
position: fenway,
pov: {
heading: 34,
pitch: 10,
zoom: 1
}
}
}
}
});
$("#gmap-5").gmap3({
map:{
address:"ISTABBUL, TURKEY",
options:{
zoom:4,
mapTypeId: google.maps.MapTypeId.SATELLITE,
mapTypeControl: true,
mapTypeControlOptions: {
style: google.maps.MapTypeControlStyle.DROPDOWN_MENU
},
navigationControl: true,
scrollwheel: true,
streetViewControl: true
}
}
});
$("#gmap-6").gmap3({
map:{
options:{
center:[33, -111],
zoom:10,
mapTypeControlOptions: {
mapTypeIds: [google.maps.MapTypeId.ROADMAP,
google.maps.MapTypeId.SATELLITE,
google.maps.MapTypeId.HYBRID,
google.maps.MapTypeId.TERRAIN,
"sectional"]
}
}
},
imagemaptype:{
id: "sectional",
options:{
getTileUrl: function(coord, zoom) {
return "http://www.fourpeaksnavigation.com/sectionals/phx" + "/" + zoom + "/" + coord.x + "/" + coord.y + ".png";
},
tileSize: new google.maps.Size(256, 256),
isPng: true,
name: "Chart",
minZoom: 1,
maxZoom: 111
},
callback: function(){
$(this).gmap3("get").setMapTypeId("sectional");
}
}
});
});

@ -0,0 +1,373 @@
var timer;
var graph;
var graph2;
$(document).ready(function(){
$(".dial").knob();
var cityAreaData = [
500.70,
410.16,
210.69,
120.17,
64.31,
150.35,
130.22,
120.71,
300.32
]
$('#vector-map').vectorMap({
map: 'us_aea_en',
normalizeFunction: 'polynomial',
zoomOnScroll:true,
focusOn:{
x: 0,
y: 0,
scale: 0.9
},
zoomMin:0.9,
hoverColor: false,
regionStyle:{
initial: {
fill: '#bbbbbb',
"fill-opacity": 1,
stroke: '#a5ded9',
"stroke-width": 0,
"stroke-opacity": 0
},
hover: {
"fill-opacity": 0.8
}
},
markerStyle: {
initial: {
fill: '#F57A82',
stroke: 'rgba(230,140,110,.8)',
"fill-opacity": 1,
"stroke-width": 9,
"stroke-opacity": 0.5,
r: 3
},
hover: {
stroke: 'black',
"stroke-width": 2
},
selected: {
fill: 'blue'
},
selectedHover: {
}
},
backgroundColor: '#ffffff',
markers :[
{latLng: [35.85, -77.88], name: 'Rocky Mt,NC'},
{latLng: [32.90, -97.03], name: 'Dallas/FW,TX'},
{latLng: [39.37, -75.07], name: 'Millville,NJ'}
],
series: {
markers: [{
attribute: 'r',
scale: [3, 7],
values: cityAreaData
}]
}
});
if ("geolocation" in navigator) {
$('.js-geolocation').show();
} else {
$('.js-geolocation').hide();
}
/* Where in the world are you? */
$(document).on('click', '.js-geolocation', function() {
navigator.geolocation.getCurrentPosition(function(position) {
loadWeather(position.coords.latitude+','+position.coords.longitude); //load weather using your lat/lng coordinates
});
});
resizefunc.push("reload_charts");
//$(".content-page").resize(debounce(reload_charts,100));
load_charts();
loadWeather('Seattle','');
monthNames = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
dayNames = ["S", "M", "T", "W", "T", "F", "S"];
var cTime = new Date(), month = cTime.getMonth()+1, year = cTime.getFullYear();
var events = [
{
"date": "4/"+month+"/"+year,
"title": 'Meet a friend',
"link": 'javascript:;',
"color": 'rgba(255,255,255,0.2)',
"content": 'Contents here'
},
{
"date": "7/"+month+"/"+year,
"title": 'Kick off meeting!',
"link": 'javascript:;',
"color": 'rgba(255,255,255,0.2)',
"content": 'Have a kick off meeting with .inc company'
},
{
"date": "19/"+month+"/"+year,
"title": 'Link to Google',
"link": 'http://www.google.com',
"color": 'rgba(255,255,255,0.2)',
}
];
$('#calendar-box2').bic_calendar({
events: events,
dayNames: dayNames,
monthNames: monthNames,
showDays: true,
displayMonthController: true,
displayYearController: false,
popoverOptions:{
placement: 'top',
trigger: 'hover',
html: true
},
tooltipOptions:{
placement: 'top',
html: true
}
});
});
function loadWeather(location, woeid) {
$.simpleWeather({
location: location,
woeid: woeid,
unit: 'c',
success: function(weather) {
html = '<h2><i class="wicon-'+weather.code+'"></i> '+weather.temp+'&deg;'+weather.units.temp+' <span class="w-temp2">/ '+weather.tempAlt+'&deg;F</span></h2>';
html += '<span class="w-region">'+weather.city+', '+weather.region+'</li>';
html += '<span class="w-currently">'+weather.currently+'</span>';
html += '';
$("#weather").html(html);
},
error: function(error) {
$("#weather").html('<p>'+error+'</p>');
}
});
}
function reload_charts(){
graph.configure({
width: $("#home-chart-3").width()
});
graph.render();
graph2.configure({
width: $("#home-chart-2").width()
});
graph2.render();
window.morris1.redraw();
window.morris2.redraw();
}
function load_charts(){
//MORRIS
window.morris1 = Morris.Bar({
element: 'morris-bar-home',
data: [
{ y: 'Indonesia', a: 952},
{ y: 'India', a: 985},
{ y: 'Malaysia', a: 955},
{ y: 'China', a: 785 },
{ y: 'Philipina', a: 700 },
{ y: 'Autralia', a: 601 },
{ y: 'United Kingdom', a: 421 },
{ y: 'United States', a: 725 },
{ y: 'Taiwan', a: 350 },
{ y: 'New Zealand', a: 120 },
{ y: 'Singapore', a: 124}
],
xkey: 'y',
ykeys: ['a'],
redraw: true,
labels: ['Visitor'],
resize: true,
barColors: ['#45B29D'],
gridTextColor: ['#777'],
gridTextSize: 11,
hideHover: 'auto',
grid :false
});
//MORRIS
window.morris2 = Morris.Area({
element: 'morris-home',
padding: 10,
behaveLikeLine: true,
gridEnabled: false,
gridLineColor: '#dddddd',
axes: true,
resize: true,
smooth:true,
pointSize: 0,
lineWidth: 0,
fillOpacity:0.85,
data: [
{period: '2010 Q1', iphone: 4666, ipad: 3666, itouch: 2666},
{period: '2010 Q2', iphone: 4441, ipad: 3441, itouch: 2441},
{period: '2010 Q3', iphone: 6501, ipad: 4501, itouch: 2501},
{period: '2010 Q4', iphone: 7689, ipad: 6689, itouch: 5689},
{period: '2011 Q1', iphone: 4293, ipad: 3293, itouch: 2293},
{period: '2011 Q2', iphone: 5881, ipad: 3881, itouch: 1881},
{period: '2011 Q3', iphone: 5588, ipad: 3588, itouch: 1588},
{period: '2011 Q4', iphone: 15073, ipad: 8967, itouch: 5175},
{period: '2012 Q1', iphone: 10687, ipad: 4460, itouch: 2028},
{period: '2012 Q2', iphone: 12432, ipad: 5713, itouch: 3791}
],
lineColors:['#869d9d','#EFC94C','#45B29D'],
xkey: 'period',
redraw: true,
ykeys: ['iphone', 'ipad', 'itouch'],
labels: ['All Visitors', 'Returning Visitors', 'Unique Visitors'],
hideHover: 'auto'
});
/*
Morris.Donut({
element: 'morris-donut',
data: [
{label: "Download Sales", value: 12},
{label: "In-Store Sales", value: 30},
{label: "Mail-Order Sales", value: 20}
]
});
*/
var seriesData = [ [], [], []];
var random = new Rickshaw.Fixtures.RandomData(50);
for (var i = 0; i < 40; i++) {
random.addData(seriesData);
}
graph = new Rickshaw.Graph( {
element: document.querySelector("#home-chart-3"),
height: 150,
renderer: 'line',
interpolation: 'linear',
series: [
{
data: seriesData[0],
color: 'rgba(0,0,0,0.4)',
name:'S&P'
},{
data: seriesData[1],
color: 'rgba(0,0,0,0.3)',
name:'Dow jones'
},{
data: seriesData[2],
color: 'rgba(0,0,0,0.2)',
name:'Nasdaq'
}
]
} );
var hoverDetail = new Rickshaw.Graph.HoverDetail({
graph: graph
});
graph.render();
setInterval( function() {
random.removeData(seriesData);
random.addData(seriesData);
for (lastitem in seriesData[0]);
var cur = parseInt($("#sp-status").text());
if(cur > seriesData[0][lastitem].y.toFixed(2)){
$("#sp-status").addClass("text-danger").html("<i class='fa fa-caret-down'></i> "+seriesData[0][lastitem].y.toFixed(2));
}else{
$("#sp-status").removeClass("text-danger").html("<i class='fa fa-caret-up'></i> "+seriesData[0][lastitem].y.toFixed(2));
}
for (lastitem in seriesData[1]);
var cur = parseInt($("#dow-status").text());
if(cur > seriesData[1][lastitem].y.toFixed(2)){
$("#dow-status").addClass("text-danger").html("<i class='fa fa-caret-down'></i> "+seriesData[1][lastitem].y.toFixed(2));
}else{
$("#dow-status").removeClass("text-danger").html("<i class='fa fa-caret-up'></i> "+seriesData[1][lastitem].y.toFixed(2));
}
for (lastitem in seriesData[2]);
var cur = parseInt($("#nasdaq-status").text());
if(cur > seriesData[2][lastitem].y.toFixed(2)){
$("#nasdaq-status").addClass("text-danger").html("<i class='fa fa-caret-down'></i> "+seriesData[2][lastitem].y.toFixed(2));
}else{
$("#nasdaq-status").removeClass("text-danger").html("<i class='fa fa-caret-up'></i> "+seriesData[2][lastitem].y.toFixed(2));
}
graph.update();
},5000);
var seriesData2 = [ [], []];
var random2 = new Rickshaw.Fixtures.RandomData(50);
for (var i = 0; i < 50; i++) {
random2.addData(seriesData2);
}
graph2 = new Rickshaw.Graph( {
element: document.querySelector("#home-chart-2"),
height: 150,
interpolation: 'linear',
renderer: 'area',
series: [
{
data: seriesData2[0],
color: 'rgba(255,255,255,0.3)',
name:'Web Server'
},{
data: seriesData2[1],
color: 'rgba(255,255,255,0.1)',
name:'Database Server'
}
]
} );
var hoverDetail = new Rickshaw.Graph.HoverDetail( {
graph: graph2
});
graph2.render();
clearInterval(timer);
timer = setInterval( function() {
random2.removeData(seriesData2);
random2.addData(seriesData2);
for (lastitem in seriesData2[0]);
$('.ws-load').data('easyPieChart').update(seriesData2[0][lastitem].y);
//for (lastitem in seriesData2[1]);
//$('.ds-load').data('easyPieChart').update(seriesData2[1][lastitem].y);
graph2.update();
},2000);
$('.ws-load').easyPieChart({
animate: 1000,
trackColor: "rgba(0,0,0,0.1)",
barColor: "#68C39F",
scaleColor: false,
size: 90,
onStep: function(from, to, percent) {
$(this.el).find('.percent').text(Math.round(percent));
}
});
/*$('.ds-load').easyPieChart({
animate: 1000,
scaleColor: false,
trackColor: "rgba(0,0,0,0.1)",
barColor: "#68C39F",
size: 50,
onStep: function(from, to, percent) {
$(this.el).find('.percent').text(Math.round(percent));
}
});*/
}
//http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20csv%20where%20url%3D%27http%3A%2F%2Fdownload.finance.yahoo.com%2Fd%2Fquotes.csv%3Fs%3dDOW%2CNASDAQ%2CSP%26f%3Dsl1d1t1c1ohgv%26e%3D.csv%27%20and%20columns%3D%27symbol%2Cprice%2Cdate%2Ctime%2Cchange%2Ccol1%2Chigh%2Clow%2Ccol2%27&format=json&diagnostics=true&callback=

@ -0,0 +1,378 @@
var timer;
var graph;
var graph2;
$(document).ready(function(){
$(".dial").knob();
var cityAreaData = [
500.70,
410.16,
210.69,
120.17,
64.31,
150.35,
130.22,
120.71,
300.32
]
$('#vector-map').vectorMap({
map: 'world_mill_en',
normalizeFunction: 'polynomial',
zoomOnScroll:true,
focusOn:{
x: 0,
y: 0,
scale: 0.9
},
zoomMin:0.9,
hoverColor: false,
regionStyle:{
initial: {
fill: '#bbbbbb',
"fill-opacity": 1,
stroke: '#a5ded9',
"stroke-width": 0,
"stroke-opacity": 0
},
hover: {
"fill-opacity": 0.8
}
},
markerStyle: {
initial: {
fill: '#F57A82',
stroke: 'rgba(230,140,110,.8)',
"fill-opacity": 1,
"stroke-width": 9,
"stroke-opacity": 0.5,
r: 3
},
hover: {
stroke: 'black',
"stroke-width": 2
},
selected: {
fill: 'blue'
},
selectedHover: {
}
},
backgroundColor: '#ffffff',
markers :[
{latLng: [35.85, -77.88], name: 'Rocky Mt,NC'},
{latLng: [32.90, -97.03], name: 'Dallas/FW,TX'},
{latLng: [41.00, 28.96], name: 'Istanbul, TR'},
{latLng: [39.37, -75.07], name: 'Millville,NJ'}
],
series: {
markers: [{
attribute: 'r',
scale: [3, 7],
values: cityAreaData
}]
}
});
if ("geolocation" in navigator) {
$('.js-geolocation').show();
} else {
$('.js-geolocation').hide();
}
/* Where in the world are you? */
$(document).on('click', '.js-geolocation', function() {
navigator.geolocation.getCurrentPosition(function(position) {
loadWeather(position.coords.latitude+','+position.coords.longitude); //load weather using your lat/lng coordinates
});
});
resizefunc.push("reload_charts");
//$(".content-page").resize(debounce(reload_charts,100));
load_charts();
loadWeather('Seattle','');
monthNames = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
dayNames = ["S", "M", "T", "W", "T", "F", "S"];
var cTime = new Date(), month = cTime.getMonth()+1, year = cTime.getFullYear();
var events = [
{
"date": "4/"+month+"/"+year,
"title": 'Meet a friend',
"link": 'javascript:;',
"color": 'rgba(255,255,255,0.2)',
"content": 'Contents here'
},
{
"date": "7/"+month+"/"+year,
"title": 'Kick off meeting!',
"link": 'javascript:;',
"color": 'rgba(255,255,255,0.2)',
"content": 'Have a kick off meeting with .inc company'
},
{
"date": "19/"+month+"/"+year,
"title": 'Link to Google',
"link": 'http://www.google.com',
"color": 'rgba(255,255,255,0.2)',
}
];
$('#calendar-box2').bic_calendar({
events: events,
dayNames: dayNames,
monthNames: monthNames,
showDays: true,
displayMonthController: true,
displayYearController: false,
popoverOptions:{
placement: 'top',
trigger: 'hover',
html: true
},
tooltipOptions:{
placement: 'top',
html: true
}
});
});
function loadWeather(location, woeid) {
$.simpleWeather({
location: location,
woeid: woeid,
unit: 'c',
success: function(weather) {
html = '<h2><i class="wicon-'+weather.code+'"></i> '+weather.temp+'&deg;'+weather.units.temp+' <span class="w-temp2">/ '+weather.tempAlt+'&deg;F</span></h2>';
html += '<span class="w-region">'+weather.city+', '+weather.region+'</li>';
html += '<span class="w-currently">'+weather.currently+'</span>';
html += '';
$("#weather").html(html);
},
error: function(error) {
$("#weather").html('<p>'+error+'</p>');
}
});
}
function reload_charts(){
graph.configure({
width: $("#home-chart-3").width()
});
graph.render();
graph2.configure({
width: $("#home-chart-2").width()
});
graph2.render();
window.morris1.redraw();
window.morris2.redraw();
}
function load_charts(){
//MORRIS
window.morris1 = Morris.Bar({
element: 'morris-bar-home',
data: [
{ y: 'Indonesia', a: 952},
{ y: 'India', a: 985},
{ y: 'Malaysia', a: 955},
{ y: 'China', a: 785 },
{ y: 'Philipina', a: 700 },
{ y: 'Autralia', a: 601 },
{ y: 'United Kingdom', a: 421 },
{ y: 'United States', a: 725 },
{ y: 'Taiwan', a: 350 },
{ y: 'New Zealand', a: 120 },
{ y: 'Singapore', a: 124}
],
xkey: 'y',
ykeys: ['a'],
redraw: true,
labels: ['Visitor'],
resize: true,
barColors: ['#45B29D'],
gridTextColor: ['#777'],
gridTextSize: 11,
hideHover: 'auto',
grid :false
});
//MORRIS
window.morris2 = Morris.Line({
element: 'morris-home',
padding: 20,
behaveLikeLine: true,
gridEnabled: false,
gridLineColor: '#dddddd',
axes: true,
resize: true,
smooth:false,
pointSize: 3,
lineWidth: 2,
fillOpacity:0.85,
data: [
{period: '2009 Q1', iphone: 4666, ipad: 3666, itouch: 2666},
{period: '2009 Q2', iphone: 4441, ipad: 3441, itouch: 2441},
{period: '2009 Q3', iphone: 16501, ipad: 14501, itouch: 12501},
{period: '2009 Q4', iphone: 7689, ipad: 6689, itouch: 5689},
{period: '2010 Q1', iphone: 4666, ipad: 3666, itouch: 2666},
{period: '2010 Q2', iphone: 4441, ipad: 3441, itouch: 2441},
{period: '2010 Q3', iphone: 6501, ipad: 4501, itouch: 2501},
{period: '2010 Q4', iphone: 7689, ipad: 6689, itouch: 5689},
{period: '2011 Q1', iphone: 2293, ipad: 1293, itouch: 293},
{period: '2011 Q2', iphone: 5881, ipad: 3881, itouch: 1881},
{period: '2011 Q3', iphone: 5588, ipad: 3588, itouch: 1588},
{period: '2011 Q4', iphone: 15073, ipad: 8967, itouch: 5175},
{period: '2012 Q1', iphone: 10687, ipad: 4460, itouch: 2028},
{period: '2012 Q2', iphone: 12432, ipad: 5713, itouch: 3791}
],
lineColors:['#abb7b7','#ABC8E2','#183152'],
xkey: 'period',
redraw: true,
ykeys: ['iphone', 'ipad'],
labels: ['All Visitors', 'Returning Visitors'],
hideHover: 'auto'
});
/*
Morris.Donut({
element: 'morris-donut',
data: [
{label: "Download Sales", value: 12},
{label: "In-Store Sales", value: 30},
{label: "Mail-Order Sales", value: 20}
]
});
*/
var seriesData = [ [], [], []];
var random = new Rickshaw.Fixtures.RandomData(50);
for (var i = 0; i < 40; i++) {
random.addData(seriesData);
}
graph = new Rickshaw.Graph( {
element: document.querySelector("#home-chart-3"),
height: 150,
renderer: 'line',
interpolation: 'linear',
series: [
{
data: seriesData[0],
color: 'rgba(0,0,0,0.4)',
name:'S&P'
},{
data: seriesData[1],
color: 'rgba(0,0,0,0.3)',
name:'Dow jones'
},{
data: seriesData[2],
color: 'rgba(0,0,0,0.2)',
name:'Nasdaq'
}
]
} );
var hoverDetail = new Rickshaw.Graph.HoverDetail({
graph: graph
});
graph.render();
setInterval( function() {
random.removeData(seriesData);
random.addData(seriesData);
for (lastitem in seriesData[0]);
var cur = parseInt($("#sp-status").text());
if(cur > seriesData[0][lastitem].y.toFixed(2)){
$("#sp-status").addClass("text-danger").html("<i class='fa fa-caret-down'></i> "+seriesData[0][lastitem].y.toFixed(2));
}else{
$("#sp-status").removeClass("text-danger").html("<i class='fa fa-caret-up'></i> "+seriesData[0][lastitem].y.toFixed(2));
}
for (lastitem in seriesData[1]);
var cur = parseInt($("#dow-status").text());
if(cur > seriesData[1][lastitem].y.toFixed(2)){
$("#dow-status").addClass("text-danger").html("<i class='fa fa-caret-down'></i> "+seriesData[1][lastitem].y.toFixed(2));
}else{
$("#dow-status").removeClass("text-danger").html("<i class='fa fa-caret-up'></i> "+seriesData[1][lastitem].y.toFixed(2));
}
for (lastitem in seriesData[2]);
var cur = parseInt($("#nasdaq-status").text());
if(cur > seriesData[2][lastitem].y.toFixed(2)){
$("#nasdaq-status").addClass("text-danger").html("<i class='fa fa-caret-down'></i> "+seriesData[2][lastitem].y.toFixed(2));
}else{
$("#nasdaq-status").removeClass("text-danger").html("<i class='fa fa-caret-up'></i> "+seriesData[2][lastitem].y.toFixed(2));
}
graph.update();
},5000);
var seriesData2 = [ [], []];
var random2 = new Rickshaw.Fixtures.RandomData(50);
for (var i = 0; i < 50; i++) {
random2.addData(seriesData2);
}
graph2 = new Rickshaw.Graph( {
element: document.querySelector("#home-chart-2"),
height: 254,
interpolation: 'linear',
renderer: 'area',
series: [
{
data: seriesData2[0],
color: 'rgba(255,255,255,0.3)',
name:'Web Server'
},{
data: seriesData2[1],
color: 'rgba(255,255,255,0.1)',
name:'Database Server'
}
]
} );
var hoverDetail = new Rickshaw.Graph.HoverDetail( {
graph: graph2
});
graph2.render();
clearInterval(timer);
timer = setInterval( function() {
random2.removeData(seriesData2);
random2.addData(seriesData2);
for (lastitem in seriesData2[0]);
$('.ws-load').data('easyPieChart').update(seriesData2[0][lastitem].y);
//for (lastitem in seriesData2[1]);
//$('.ds-load').data('easyPieChart').update(seriesData2[1][lastitem].y);
graph2.update();
},2000);
$('.ws-load').easyPieChart({
animate: 1000,
trackColor: "rgba(0,0,0,0.1)",
barColor: "#68C39F",
scaleColor: false,
size: 90,
onStep: function(from, to, percent) {
$(this.el).find('.percent').text(Math.round(percent));
}
});
/*$('.ds-load').easyPieChart({
animate: 1000,
scaleColor: false,
trackColor: "rgba(0,0,0,0.1)",
barColor: "#68C39F",
size: 50,
onStep: function(from, to, percent) {
$(this.el).find('.percent').text(Math.round(percent));
}
});*/
}
//http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20csv%20where%20url%3D%27http%3A%2F%2Fdownload.finance.yahoo.com%2Fd%2Fquotes.csv%3Fs%3dDOW%2CNASDAQ%2CSP%26f%3Dsl1d1t1c1ohgv%26e%3D.csv%27%20and%20columns%3D%27symbol%2Cprice%2Cdate%2Ctime%2Cchange%2Ccol1%2Chigh%2Clow%2Ccol2%27&format=json&diagnostics=true&callback=

@ -0,0 +1,8 @@
$(function(){
resizefunc.push("arrangesizeLockscreen");
$(".lock-page .login-wrap").addClass("animated flipInX");
});
function arrangesizeLockscreen(){
$(".lock-page").height($(window).height());
}

@ -0,0 +1,61 @@
$(function(){
Morris.Line({
element: 'line-example',
resize: true,
data: [
{ y: '2006', a: 100, b: 90 },
{ y: '2007', a: 75, b: 65 },
{ y: '2008', a: 50, b: 40 },
{ y: '2009', a: 75, b: 65 },
{ y: '2010', a: 50, b: 40 },
{ y: '2011', a: 75, b: 65 },
{ y: '2012', a: 100, b: 90 }
],
xkey: 'y',
ykeys: ['a', 'b'],
labels: ['Series A', 'Series B']
});
Morris.Area({
element: 'area-example',
resize: true,
data: [
{ y: '2006', a: 100, b: 90 },
{ y: '2007', a: 75, b: 65 },
{ y: '2008', a: 50, b: 40 },
{ y: '2009', a: 75, b: 65 },
{ y: '2010', a: 50, b: 40 },
{ y: '2011', a: 75, b: 65 },
{ y: '2012', a: 100, b: 90 }
],
xkey: 'y',
ykeys: ['a', 'b'],
labels: ['Series A', 'Series B']
});
Morris.Bar({
element: 'bar-example',
resize: true,
data: [
{ y: '2007', a: 75, b: 65 },
{ y: '2008', a: 50, b: 40 },
{ y: '2009', a: 75, b: 65 },
{ y: '2010', a: 50, b: 40 },
{ y: '2011', a: 75, b: 65 }
],
xkey: 'y',
ykeys: ['a', 'b'],
labels: ['Series A', 'Series B']
});
Morris.Donut({
element: 'donut-example',
resize: true,
data: [
{label: "Download Sales", value: 12},
{label: "In-Store Sales", value: 30},
{label: "Mail-Order Sales", value: 20}
]
});
});

@ -0,0 +1,22 @@
var output;
$(document).ready(function(){
var updateOutput = function(e)
{
var list = e.length ? e : $(e.target),
output = list.data('output');
if (window.JSON) {
output.val(window.JSON.stringify(list.nestable('serialize')));//, null, 2));
} else {
output.val('JSON browser support required for this demo.');
}
};
// activate Nestable for list 1
$('#nestable').nestable({
group: 1
}).on('change', updateOutput);
$('#nestable2').nestable().on('change', updateOutput);
updateOutput($('#nestable').data('output', $('#nestable-output')));
updateOutput($('#nestable2').data('output', $('#nestable2-output')));
})

@ -0,0 +1,11 @@
$(function(){
$('.summernote-small').summernote({
toolbar: [
['style', ['bold', 'italic', 'underline', 'clear']],
['fontsize', ['fontsize']],
['color', ['color']],
['para', ['ul', 'ol', 'paragraph']]
],
height: 200
});
});

@ -0,0 +1,101 @@
function notify(style,position) {
if(style == "error"){
icon = "fa fa-exclamation";
}else if(style == "warning"){
icon = "fa fa-warning";
}else if(style == "success"){
icon = "fa fa-check";
}else if(style == "info"){
icon = "fa fa-question";
}else{
icon = "fa fa-circle-o";
}
$.notify({
title: 'Sample Notification',
text: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas vitae orci ut dolor scelerisque aliquam.',
image: "<i class='"+icon+"'></i>"
}, {
style: 'metro',
className: style,
globalPosition:position,
showAnimation: "show",
showDuration: 0,
hideDuration: 0,
autoHide: false,
clickToHide: true
});
}
function notify2(style,position) {
$(".autohidebut").notify({
text: '<i class="fa fa-comment-o"></i> Hi buddy. I\'m here!'
}, {
style: 'metro',
className: 'nonspaced',
elementPosition:position,
showAnimation: "show",
showDuration: 0,
hideDuration: 0,
autoHide: false,
clickToHide: true
});
}
function autohidenotify(style,position) {
if(style == "error"){
icon = "fa fa-exclamation";
}else if(style == "warning"){
icon = "fa fa-warning";
}else if(style == "success"){
icon = "fa fa-check";
}else if(style == "info"){
icon = "fa fa-question";
}else{
icon = "fa fa-circle-o";
}
$.notify({
title: 'I will be closed in 3 seconds...',
text: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas vitae orci ut dolor scelerisque aliquam.',
image: "<i class='fa fa-warning'></i>"
}, {
style: 'metro',
className: style,
globalPosition:position,
showAnimation: "show",
showDuration: 0,
hideDuration: 0,
autoHideDelay: 3000,
autoHide: true,
clickToHide: true
});
}
function nconfirm() {
$.notify({
title: 'Are you nuts?!',
text: 'Are you sure you want to do nothing?<div class="clearfix"></div><br><a class="btn btn-sm btn-default yes">Yes</a> <a class="btn btn-sm btn-danger no">No</a>',
image: "<i class='fa fa-warning'></i>"
}, {
style: 'metro',
className: "cool",
showAnimation: "show",
showDuration: 0,
hideDuration: 0,
autoHide: false,
clickToHide: false
});
}
$(function(){
//listen for click events from this style
$(document).on('click', '.notifyjs-metro-base .no', function() {
//programmatically trigger propogating hide event
$(this).trigger('notify-hide');
});
$(document).on('click', '.notifyjs-metro-base .yes', function() {
//show button text
alert($(this).text() + " clicked!");
//hide notification
$(this).trigger('notify-hide');
});
})

@ -0,0 +1,25 @@
var initCharts = function() {
var charts = $('.percentage');
charts.easyPieChart({
animate: 1000,
lineWidth: 5,
barColor: "#eb5055",
lineCap: "butt",
size: "150",
scaleColor: "transparent",
onStep: function(from, to, percent) {
$(this.el).find('.cpercent').text(Math.round(percent));
}
});
$('.updatePieCharts').on('click', function(e) {
e.preventDefault();
charts.each(function() {
$(this).data('easyPieChart').update(Math.floor(100*Math.random()));
});
});
}
$(function(){
$(".knob").knob();
initCharts();
})

@ -0,0 +1,131 @@
$(function(){
// Initiate graphs right after interface loaded
rungraphs();
});
function rungraphs(){
var graph = new Rickshaw.Graph( {
element: document.querySelector("#chart-2"),
width: $("#chart-2").parent().width(),
height: 235,
renderer: 'area',
stroke: true,
series: [ {
data: [ { x: 0, y: 40 }, { x: 1, y: 49 }, { x: 2, y: 38 }, { x: 3, y: 20 }, { x: 4, y: 16 } ],
color: 'rgba(70,130,180,0.5)',
stroke: 'rgba(0,0,0,0.15)'
}, {
data: [ { x: 0, y: 22 }, { x: 1, y: 25 }, { x: 2, y: 38 }, { x: 3, y: 44 }, { x: 4, y: 46 } ],
color: 'rgba(202,226,247,0.5)',
stroke: 'rgba(0,0,0,0.15)'
} ]
} );
graph.renderer.unstack = true;
graph.render();
var graph = new Rickshaw.Graph({
element: document.querySelector("#chart-1"),
width: $("#chart-1").parent().width(),
height: 235,
renderer: 'line',
series: [{
data: [ { x: 0, y: 40 }, { x: 1, y: 49 }, { x: 2, y: 38 }, { x: 3, y: 30 }, { x: 4, y: 32 } ],
color: '#4682b4'
}, {
data: [ { x: 0, y: 20 }, { x: 1, y: 24 }, { x: 2, y: 19 }, { x: 3, y: 15 }, { x: 4, y: 16 } ],
color: '#9cc1e0'
}]
});
graph.render();
var graph = new Rickshaw.Graph( {
element: document.querySelector("#chart-3"),
height: 235,
renderer: 'bar',
stack: false,
series: [
{
data: [ { x: 0, y: 40 }, { x: 1, y: 49 }, { x: 2, y: 38 }, { x: 3, y: 30 }, { x: 4, y: 32 } ],
color: '#4682b4'
}, {
data: [ { x: 0, y: 20 }, { x: 1, y: 24 }, { x: 2, y: 19 }, { x: 3, y: 15 }, { x: 4, y: 16 } ],
color: '#9cc1e0'
} ]
} );
graph.render();
var graph = new Rickshaw.Graph( {
element: document.querySelector("#chart-4"),
renderer: 'bar',
height: 235,
stack: true,
series: [
{
data: [ { x: 0, y: 40 }, { x: 1, y: 49 }, { x: 2, y: 38 }, { x: 3, y: 30 }, { x: 4, y: 32 } ],
color: '#4682b4'
}, {
data: [ { x: 0, y: 20 }, { x: 1, y: 24 }, { x: 2, y: 19 }, { x: 3, y: 15 }, { x: 4, y: 16 } ],
color: '#9cc1e0'
} ]
} );
graph.render();
// set up our data series with 50 random data points
var seriesData = [ [], [], [] ];
var random = new Rickshaw.Fixtures.RandomData(150);
for (var i = 0; i < 150; i++) {
random.addData(seriesData);
}
// instantiate our graph!
var graph = new Rickshaw.Graph( {
element: document.getElementById("chart-5"),
height: 500,
renderer: 'line',
series: [
{
color: "#6FB07F",
data: seriesData[0],
name: 'New York'
}, {
color: "#FCB03C",
data: seriesData[1],
name: 'London'
}, {
color: "#FC5B3F",
data: seriesData[2],
name: 'Tokyo'
}
]
} );
graph.render();
var hoverDetail = new Rickshaw.Graph.HoverDetail( {
graph: graph
} );
var legend = new Rickshaw.Graph.Legend( {
graph: graph,
element: document.getElementById('legend')
} );
var shelving = new Rickshaw.Graph.Behavior.Series.Toggle( {
graph: graph,
legend: legend
} );
var axes = new Rickshaw.Graph.Axis.Time( {
graph: graph
} );
axes.render();
}

@ -0,0 +1,76 @@
$(function(){
// Bar + line composite charts
$('#compositebar').sparkline('html', { type: 'bar', barColor: '#aaf' });
$('#compositebar').sparkline([4,1,5,7,9,9,8,7,6,6,4,7,8,4,3,2,2,5,6,7],
{ composite: true, fillColor: false, lineColor: 'red' });
// Larger line charts for the docs
$('.largeline').sparkline('html',
{ type: 'line', height: '2.5em', width: '4em' });
// Customized line chart
$('#linecustom').sparkline('html',
{height: '1.5em', width: '8em', lineColor: '#f00', fillColor: '#ffa',
minSpotColor: false, maxSpotColor: false, spotColor: '#77f', spotRadius: 3});
// Bar charts using inline values
$('.sparkbar').sparkline('html', {type: 'bar'});
$('.barformat').sparkline([1, 3, 5, 3, 8], {
type: 'bar',
tooltipFormat: '{{value:levels}} - {{value}}',
tooltipValueLookups: {
levels: $.range_map({ ':2': 'Low', '3:6': 'Medium', '7:': 'High' })
}
});
// Tri-state charts using inline values
$('.sparktristate').sparkline('html', {type: 'tristate'});
$('.sparktristatecols').sparkline('html',
{type: 'tristate', colorMap: {'-2': '#fa7', '2': '#44f'} });
// Composite line charts, the second using values supplied via javascript
$('#compositeline').sparkline('html', { fillColor: false, changeRangeMin: 0, chartRangeMax: 10 });
$('#compositeline').sparkline([4,1,5,7,9,9,8,7,6,6,4,7,8,4,3,2,2,5,6,7],
{ composite: true, fillColor: false, lineColor: 'red', changeRangeMin: 0, chartRangeMax: 10 });
// Line charts with normal range marker
$('#normalline').sparkline('html',
{ fillColor: false, normalRangeMin: -1, normalRangeMax: 8 });
$('#normalExample').sparkline('html',
{ fillColor: false, normalRangeMin: 80, normalRangeMax: 95, normalRangeColor: '#4f4' });
// Discrete charts
$('.discrete1').sparkline('html',
{ type: 'discrete', lineColor: 'blue', xwidth: 18 });
$('#discrete2').sparkline('html',
{ type: 'discrete', lineColor: 'blue', thresholdColor: 'red', thresholdValue: 4 });
// Bullet charts
$('.sparkbullet').sparkline('html', { type: 'bullet' });
// Pie charts
$('.sparkpie').sparkline('html', { type: 'pie', height: '1.0em' });
// Box plots
$('.sparkboxplot').sparkline('html', { type: 'box'});
$('.sparkboxplotraw').sparkline([ 1, 3, 5, 8, 10, 15, 18 ],
{type:'box', raw: true, showOutliers:true, target: 6});
// Box plot with specific field order
$('.boxfieldorder').sparkline('html', {
type: 'box',
tooltipFormatFieldlist: ['med', 'lq', 'uq'],
tooltipFormatFieldlistKey: 'field'
});
// click event demo sparkline
$('.clickdemo').sparkline();
$('.clickdemo').bind('sparklineClick', function(ev) {
var sparkline = ev.sparklines[0],
region = sparkline.getCurrentRegionFields();
value = region.y;
alert("Clicked on x="+region.x+" y="+region.y);
});
});

@ -0,0 +1,3 @@
$(document).ready(function(){
});

@ -0,0 +1,32 @@
$(function(){
$('#vmap-1').vectorMap({map: 'world_mill_en',backgroundColor: 'transparent',
regionStyle: {
initial: {
fill: '#8d8d8d'
}
}});
$('#vmap-3').vectorMap({map: 'europe_mill_en',backgroundColor: 'transparent',
regionStyle: {
initial: {
fill: '#8d8d8d'
}
}});
$('#vmap-4').vectorMap({map: 'us_aea_en',backgroundColor: 'transparent',
regionStyle: {
initial: {
fill: '#8d8d8d'
}
}});
$('#vmap-5').vectorMap({map: 'uk_mill_en',backgroundColor: 'transparent',
regionStyle: {
initial: {
fill: '#8d8d8d'
}
}});
$('#vmap-6').vectorMap({map: 'us-il-chicago_mill_en',backgroundColor: 'transparent',
regionStyle: {
initial: {
fill: '#8d8d8d'
}
}});
});

File diff suppressed because one or more lines are too long

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