Commit c63d707e by CubeSky

AmibaLight v11

0 parents
Showing with 1880 additions and 0 deletions
.chartist-tooltip {
position: absolute;
display: inline-block;
opacity: 0;
min-width: 5em;
padding: .5em;
background: #F4C63D;
color: #453D3F;
font-family: Oxygen,Helvetica,Arial,sans-serif;
font-weight: 700;
text-align: center;
pointer-events: none;
z-index: 1;
-webkit-transition: opacity .2s linear;
-moz-transition: opacity .2s linear;
-o-transition: opacity .2s linear;
transition: opacity .2s linear; }
.chartist-tooltip:before {
content: "";
position: absolute;
top: 100%;
left: 50%;
width: 0;
height: 0;
margin-left: -15px;
border: 15px solid transparent;
border-top-color: #F4C63D; }
.chartist-tooltip.tooltip-show {
opacity: 1; }
.ct-area, .ct-line {
pointer-events: none; }
/*# sourceMappingURL=chartist-plugin-tooltip.css.map */
/*!
* FullCalendar v3.8.2
* Docs & License: https://fullcalendar.io/
* (c) 2018 Adam Shaw
*//*!
* FullCalendar v3.8.2 Print Stylesheet
* Docs & License: https://fullcalendar.io/
* (c) 2018 Adam Shaw
*/.fc-bg,.fc-bgevent-container,.fc-bgevent-skeleton,.fc-business-container,.fc-event .fc-resizer,.fc-helper-container,.fc-helper-skeleton,.fc-highlight-container,.fc-highlight-skeleton{display:none}.fc tbody .fc-row,.fc-time-grid{min-height:0!important}.fc-time-grid .fc-event.fc-not-end:after,.fc-time-grid .fc-event.fc-not-start:before{content:"..."}.fc{max-width:100%!important}.fc-event{background:#fff!important;color:#000!important;page-break-inside:avoid}.fc hr,.fc tbody,.fc td,.fc th,.fc thead,.fc-row{border-color:#ccc!important;background:#fff!important}.fc tbody .fc-row{height:auto!important}.fc tbody .fc-row .fc-content-skeleton{position:static;padding-bottom:0!important}.fc tbody .fc-row .fc-content-skeleton tbody tr:last-child td{padding-bottom:1em}.fc tbody .fc-row .fc-content-skeleton table{height:1em}.fc-more,.fc-more-cell{display:none!important}.fc tr.fc-limited{display:table-row!important}.fc td.fc-limited{display:table-cell!important}.fc-agenda-view .fc-axis,.fc-popover{display:none}.fc-slats,.fc-time-grid hr{display:none!important}.fc button,.fc-button-group,.fc-time-grid .fc-event .fc-time span{display:none}.fc-time-grid .fc-content-skeleton{position:static}.fc-time-grid .fc-content-skeleton table{height:4em}.fc-time-grid .fc-event-container{margin:0!important}.fc-time-grid .fc-event{position:static!important;margin:3px 2px!important}.fc-time-grid .fc-event.fc-not-end{border-bottom-width:1px!important}.fc-time-grid .fc-event.fc-not-start{border-top-width:1px!important}.fc-time-grid .fc-event .fc-time{white-space:normal!important}.fc-time-grid .fc-event .fc-time:after{content:attr(data-full)}.fc-day-grid-container,.fc-scroller,.fc-time-grid-container{overflow:visible!important;height:auto!important}.fc-row{border:0!important;margin:0!important}
\ No newline at end of file
This diff is collapsed. Click to expand it.
This diff could not be displayed because it is too large.
No preview for this file type
No preview for this file type
This diff could not be displayed because it is too large.
No preview for this file type
No preview for this file type
No preview for this file type
>div.ui.raised.segment
>h1
.阿米巴·轻
>h2
.概述
>p
.阿米巴·轻 是一个使用新浏览器技术的响应式阿米巴前端界面。
>p
.基于 阿米巴 接口的另一个实现 (Another Amiba UI)
>h2
.优势
>ol.ui.large.list
>li
.移动端原生兼容
>li
.简洁的界面
>li
.深度集成 DataStore 暂存服务以暂存周报文字
>li
.周报评价页自动高亮未评价的周报条目
>li
.集成请假邮件模板生成(目前仅支持产品技术部,若需要支持请提供您部门的请假邮件接收邮箱列表)
>li
.全新矢量 Logo 无限放大并大幅降低页面大小
>li
.通知中心支持定时提醒填写功能(仅当 阿米巴·轻 在后台显示时)
>li
.对后台接口 0 修改,安全性保证
>h2
.限制
>ol.ui.large.list
>li
.由于 桌面版 Safari (MacOS) 未实现一些必要的 HTML 标准,阿米巴·轻 在 桌面版 Safari 上会遇到兼容性问题(该问题也出现在官方版本和非官方补丁版本中)
>h2
.你知道吗?
>p
.其实 阿米巴·轻 是悄悄更新的~
>div.ui.divider
>p
.版本: Version 11
\ No newline at end of file
>div
>div.ui.icon.error.message.floating
>i.warning.sign.icon
>div.content
>div.header
.来自上游的错误
>p
>p
.因原版接口 Bug ,该功能无法使用
>div.ui.icon.info.message.floating
>i.notched.circle.loading.icon
>div.content
>div.header
.正在努力解决
>p
>p
.非官方版本开发者正在与官方积极协商以解决问题
\ No newline at end of file
>div.ui.form
>div.three.fields
>div.field
>div.label
.时间
>input
#type = date
@change = update
%value = {{date}}
>input#end
#style = display: none
#type = date
@change = update
%value = {{date_end}}
>div.field
>div.label
.时间段
>select
%value = {{range = monthly}}
@change = changeSel
>option
#value = monthly
.查看月份
>option
#value = dateindex
.查看日期范围
>div.field
>div.ui.message
>div.header
.图表
>div.content
>div.ui.divider
>h3
.等待与后端同步接口
>div.ct-container
\ No newline at end of file
>div.ui.form
>div.field
>div.label
.用户
>div.ui.search#userlist
>div.ui.icon.input
>input.prompt#userdata
@change = getUsercost
#type = text
#placeholder = 搜索用户
%value = {{user}}
>i.search.icon
>div.results
>div.two.fields
>div.field
>div.label
.公积金
>input
#type = number
%value = {{accumulation_fund}}
>div.field
>div.label
.社保
>input
%value = {{social_security}}
>div.two.fields
>div.field
>div.label
.工资
>input
#type = number
%value = {{salary}}
>div.field
>div.label
.其他
>input
#type = number
%value = {{other}}
>div.two.fields
>div.field
>div.label
.出勤天数
>input
#type = number
%value = {{date_count}}
>div.field
>div.label
.成本
>input
#type = number
%value = {{cost}}
>div.two.fields
>div.field
>div.label
.开始时间
>input
#type = date
%value = {{start_date}}
>div.field
>div.label
.结束时间
>input
#type = date
%value = {{end_date}}
>div.field
>a.ui.button.positive
@click = update
.确定
>div.ui.modal#modal
>div.header
.提示
>div.content
.{{infomation}}
>div.actions
>button.ui.button.basic.positive
.确定
\ No newline at end of file
>div.ui.form
>div.three.fields
>div.field
>div.label
.时间
>input
#type = date
@change = update
%value = {{date}}
>input#end
#style = display: none
#type = date
@change = update
%value = {{date_end}}
>div.field
>div.label
.图表
>select
%value = p-d
@change = update
>option
#value = p-d
.部门-项目
>option
#value = d-t
.部门-时间
>option
#value = p-t
.项目-时间
>div.field
>div.label
.时间段
>select
%value = {{range = monthly}}
@change = changeSel
>option
#value = monthly
.查看月份
>option
#value = dateindex
.查看日期范围
>option
#value = quarter
.查看季度
>option
#value = annual
.查看年份
>div.field
>div.ui.message
>div.header
.图表
>div.content
>div.ui.divider
>h3
.等待与后端同步接口
>div.ct-container
\ No newline at end of file
>div
>table.ui.celled.table
>thead
>tr
>th
.部门
>th
.负责人
>th
.操作
>tbody
+departmentlist
>tfoot.full-width
>tr
>th
#colspan = 3
>div.ui.right.floated.small.primary.labeled.icon.button
@click = add
>i.users.icon
.添加部门
>div.ui.modal#add
>div.header
.{{status = 添加}}
>div.content
>div.ui.form
#onsubmit = return false
>div.field
>div.label
#data-old = {{add_old}}
.项目名称
>input#pname
%value = {{add_name}}
>div.field
>div.label
.负责人
>input
%value = {{add_people}}
>div.actions
>button.ui.negative.button
.取消
>button.ui.button.green
@click = submit
.确定
>div.ui.modal#infomation
>div.header
.{{info}}
>div.content
.{{content}}
>div.actions
>button.ui.button.basic.negative
.确定
\ No newline at end of file
>div
>table.ui.celled.table.sortable
>thead
>tr
>th
.姓名
>th
.所属部门
>th
.权限
>th
.操作
>tbody
+peoplelist
>tfoot.full-width
>tr
>th
#colspan = 4
>div.ui.right.floated.small.primary.labeled.icon.button
@click = add
>i.user.icon
.添加同狮
>div.ui.modal#add
>div.header
.{{status = 添加}}
>div.content
>div.ui.form
@submit.prevent.capture
>div.field
>div.label
#data-old = {{add_old}}
.姓名
>input
%value = {{add_name}}
>div.field
>div.label
.密码
>input
#type = password
%value = {{add_password}}
>div.field
>div.label
.所属部门
>select
%value = {{add_department = }}
>option
#value =
#hidden
#disabled
#selected
.选择部门
+option_department
>div.field
>div.label
.权限
>select
%value = {{add_permission = 1}}
>option
#value = 1
.普通
>option
#value = 3
.发行
>option
#value = 4
.财务员工部门
>option
#value = 5
.财务项目人员
>div.field
>div.label
.电话
>input
%value = {{add_phone}}
>div.field
>div.label
.邮件
>input
#type = email
%value = {{add_email}}
>div.actions
>button.ui.negative.button
.取消
>button.ui.button.green
@click = submit
.确定
>div.ui.modal#infomation
>div.header
.{{info}}
>div.content
.{{content}}
>div.actions
>button.ui.button.basic.negative
.确定
\ No newline at end of file
>div
>table.ui.celled.table
>thead
>tr
>th
.项目名称
>th
.负责人
>th
.操作
>tbody
+projectlist
>tfoot.full-width
>tr
>th
#colspan = 3
>div.ui.right.floated.small.primary.labeled.icon.button
@click = add
>i.travel.icon
.添加项目
>div.ui.modal#add
>div.header
.{{status = 添加}}
>div.content
>div.ui.form
@submit.prevent.capture
>div.field
>div.label
#data-old = {{add_old}}
.项目名称
>input#pname
%value = {{add_name}}
>div.field
>div.label
.负责人
>input
%value = {{add_people}}
>div.actions
>button.ui.negative.button
.取消
>button.ui.button.green
@click = submit
.确定
>div.ui.modal#infomation
>div.header
.{{info}}
>div.content
.{{content}}
>div.actions
>button.ui.button.basic.negative
.确定
\ No newline at end of file
>div.ui.segment
>div.ui.large.header
.通知中心 (此设置只对当前浏览器生效)
>div.ui.divider
>div.ui.message.{{state}}
>div.header
.当前通知中心连接状态
>p
.{{state_text}}
>p#state_en
#style = display: none
>button.ui.button.orange
@click = restart
.重试连接
>div.ui.divider
>div.ui.stackable.centered.grid
>div.three.column.row
>div.three.wide.column
>div.content
.阿米巴填写提示
>div.two.wide.column
>button.ui.button.toggle.fluid.{{amiba_write_toggle}}
@click = changeNotify:amiba_write
.开启
>div.three.wide.column
>div.content
.下班提示
>div.two.wide.column
>button.ui.button.toggle.fluid.{{leave_toggle}}
@click = changeNotify:leave
.开启
>div.three.wide.column
>div.content
.加班订餐与就餐提示
>div.two.wide.column
>button.ui.button.toggle.fluid.{{food_toggle}}
#disabled
.开启
>br
.(未实现)
\ No newline at end of file
>div
>div.ui
>h2
.请假中心
>small
.Powered by Amiba-Light (Made with ♥ by CubeSky)
>div.ui.divider
>form.ui.form
#action = #
@submit.prevent.capture
>div.field
>label
.将邮件发送至
>select.ui.fluid.dropdown
%value = {{emailto}}
>option
#selected
#disabled
#hidden
#value =
.选择部门
+emailoption
>div.field
>label
.请假原因
>input
%value = {{reason}}
#type = text
#placeholder = 请假原因
>div.field
>label
.请假日期(一行一个)
>button.ui.basic.button
@click = addTemplate
>i.icon.plus
.添加模板[{{template}}]
>button.ui.basic.button
@click = addRangeTemplate
>i.icon.plus
.添加日期段模板
>textarea
#type = text
#placeholder = 请假日期
%value = {{date}}
>button.ui.positive.fluid.button
@click = sendOnMail
.激活邮件客户端
>div.ui.divider
>div.ui.message
>div.header
.邮件预览
>br
>div.ui.divider
>div#emailPreview
#style = white-space: pre
.HI ALL
>br
.- - -
>br
.申请人:{{name}}
>br
.- - -
>br
.在以下时间需要请假
>br
.{{date}}
>br
.- - -
>br
.请假原因:
>br
.{{reason}}
>br
.- - -
>br
.状态: 申请
>br
>div.ui.modal#modalerr
>i.close.icon
>div.header
.无效选择
>div.content
>p
.结束日期不能早于开始日期
>div.ui.modal#modal
>i.close.icon
>div.header
.请假日期区间选择
>div.desciption
#style = margin: 1em
>form.ui.form
>div.two.fields
>div.field
>label
.开始日期
>input#start_date
#type = date
%value = {{ start_date }}
>div.field
>label
.结束日期
>input#end_date
#type = date
%value = {{ end_date }}
>div.actions
>div.ui.button.negative
@click = cancelDateRange
.取消
>div.ui.button.positive
@click = insertDateRange
.确定
\ No newline at end of file
>div
>table.ui.celled.table.fixed.stackable
>thead
>tr
>th
.姓名
>th
.部门
>th
.职位
>th
.邮箱
>th
.电话
>tbody
+contact
>tfoot
>tr
>th
#colspan = 4
.共有 {{people_count}} 人
>br
>br
\ No newline at end of file
>div
>div.ui.form
>div.three.fields
>div.field
>div.ui.input
>select.ui.select
%value = {{depart = }}
@change = update
>option
#disabled
#hidden
#selected
#value =
+departments
>div.field
>div.ui.input
>input
#type = date
@change = update
%value = {{date}}
>div.field
>select.ui.select
%value = {{type = daily}}
@change = update
>option
#value = daily
.查看日期
>option
#value = monthly
.查看月份
>option
#value = quarter
.查看季度
>div.ui.message
>div.header
.统计图表
>div.ui.divider
>p
>div.ct-container
\ No newline at end of file
>div.ui
>div.ui.modal#infomation
>div.header
.{{infomation}}
>div.content
>p
.{{message}}
>div.ui.modal#modifyedit
>i.close.icon
>div.header
#data-id = {{edit_id}}
.修改信息
>div.content
>div.ui.form
@submit.prevent.capture
>div.field
>div.label
.日期
>input
#disabled
%value = {{edit_date}}
>div.two.fields
>div.field
>div.label
.开始时间
>input
#type = time
%value = {{edit_start_time}}
>div.field
>div.label
.结束时间
>input
#type = time
%value = {{edit_end_time}}
>div.two.fields
>div.field
>div.label
.所属项目
>select.ui.dropdown
@change = fetchTask
%value = {{edit_project_id}}
>option
#disabled
#selected
#hidden
#value =
.选择项目
+edit_project
>div.field
>div.label
.所属任务
>select.ui.dropdown
@change = fetchDetail
%value = {{edit_task_id}}
>option
#disabled
#selected
#hidden
#value =
.选择任务
+edit_task
>div.four.fields
>div.field
>div.label
.预期开始时间
>input
#disabled
%value = {{edit_expect_start}}
>div.field
>div.label
.预期完成时间
>input
#disabled
%value = {{edit_expect_end}}
>div.field
>div.label
.进度
>input
#type = number
#min = 0
#max = 100
%value = {{edit_progress}}
>div.field
>div.label
.任务模式
>button.ui.toggle.button#longtime_btn
.长期
>div.field
>div.label
.工作内容
>textarea
%value = {{edit_content}}
>div.actions
>button.ui.button
@click = deletework
.删除
>button.ui.button.negative
.取消
>button.ui.button.green
@click = btnsubmit
.确定
>div.ui.form
>div.four.fields
>div.field
>div.ui.search#namesearch
>div.ui.icon.input
>input.prompt
@change = changeQuery
#type = text
#placeholder = 姓名
%value = {{username}}
>i.search.icon
>div.field
>div.ui.input
>input
@change = changeQuery
#type = date
%value = {{date}}
>div.field
>select.ui.select
@change = changeQuery
%value = {{type = daily}}
>option
#value = daily
.查看日期
>option
#value = monthly
.查看月份
>div.field
>button.ui.button.basic.primary
@click = changeQuery
.刷新
>div.ui.message
>div.header
.统计图表 {{state}}
>div.ui.divider
>p
>div.ct-container
>div.ui.attached.message
>div.header
.任务信息 {{state}}
>table.ui.celled.table.selectable.tablet.stackable.attached
>thead
>tr
>th
.任务名称
>th
.日期
>th
.开始时间
>th
.结束时间
>th
.说明
>th
.操作
>tbody
+taskpie
\ No newline at end of file
>div
>div.ui.form
>div.three.fields
>div.field
>div.ui.input
>select.ui.select
%value = {{proj = }}
@change = update
>option
#disabled
#hidden
#selected
#value =
.选择项目
+projects
>div.field
>div.ui.input
>input
@change = update
#type = date
%value = {{date}}
>div.field
>select.ui.select
%value = {{type = daily}}
@change = update
>option
#value = daily
.查看日期
>option
#value = monthly
.查看月份
>option
#value = quarter
.查看季度
>div.ui.message
>div.header
.统计图表
>div.ui.divider
>p
>div.ct-container
\ No newline at end of file
>div
>div.ui.form
>div.four.fields
>div.field
>div.field
>label
.开始时间
>input
#type = date
%value = {{start_date}}
>div.field
>div.field
>label
.结束时间
>input
#type = date
%value = {{end_date}}
>div.field
>label
.获取
>button.ui.button.basic.primary
@click = download
.下载
\ No newline at end of file
>div.ui.one.column.grid
>div.row
>table.ui.celled.table
>thead
>tr
>th
.任务名称
>th
.所属项目
>th
.任务进度
>th
.任务执行者
>th
.任务创建者
>th
.任务状态
>th
.操作
>tbody
+tasklist
>tfoot.full-width
>tr
>th
.查看分类
>th
#colspan = 2
>select.ui.dropdown
%value = {{showwhat = self}}
>option
#value = self
.只看自己
>option#projectsel
#hidden
#value = project
.按项目查看
>option#departmentsel
#hidden
#value = department
.按部门查看
>th
#colspan = 4
>div.ui.right.floated.small.primary.labeled.icon.button
@click = qtask_add
>i.bookmark.icon
.添加任务
>div.ui.modal#dialogui
>i.close.icon
>div.header
.提示
>div.content
.{{dialog_msg}}
>div.ui.modal#quick_task
>i.close.icon
>div.header
#data-taskid = {{q_taskid}}
#data-taskstate = {{q_taskstate}}
.快速操作 {{qtask_type}}
>div.content
>form.ui.form.four.fields
>div.field
>div.label
.任务名称
>input
%value = {{qtask_name}}
>div.field
>div.label
.所属项目
>select.ui.dropdown
%value = {{qtask_project}}
>option
#disabled
#hidden
#selected
#value =
.选择项目
+qtask_project_list
>div.field
>div.label
.开始时间
>input#qtask_start_time
#type = date
>div.field
>div.label
.结束时间
>input#qtask_end_time
#type = date
>div.field
>div.label
.需求方
>input
%value = {{qtask_want}}
>div.field
>div.label
.任务类型
>select.ui.dropdown
%value = {{qtask_task_type}}
>option
#value = normal
.普通任务
>option
#value = longtime
.长期任务
>div.field
>div.label
.配合者
>input
%value = {{qtask_together}}
>div.field
>div.label
.执行者
>input
%value = {{qtask_worker}}
>div.field
>div.label
.任务描述
>textarea
%value = {{qtask_content}}
>div.field
>div.label
.任务备注
>textarea
%value = {{qtask_others}}
>div.actions
>div.ui.negative.button
.取消
>div.ui.green.button
@click = quick_task
.确定
\ No newline at end of file
>div
>div.ui.message.warning.massive
#style = display: {{show_sup_alert}}
>div.header
.提示
>p
.该功能需要向相关权限人员申请权限,否则补填信息会失败
>form.ui.form
@submit.prevent.capture
#data-enable-shim = true
>div.field
>label
.提交时间
>div.four.fields
>div.field
>label
.开始时间
>input#start_time
#type = time
>div.ui.middle.aligned
>p
.~
>div.field
>label
.结束时间
>input#end_time
#type = time
>div.field
>label
.日期
>input#date
#type = date
%value = {{nowToday}}
>div.field
>label
.补填信息(需要权限)
>div.ui.toggle.button#sup_btn
@click = sup_click
.确定我要补填信息
>div.field
>label
.项目与任务
>div.two.fields
>div.field
>label
.所属项目
>select.ui.dropdown#proj_sel
>option
#disabled
#selected
#hidden
#value =
.选择项目
%value = {{project}}
@change = fetchTask
+project_list
>div.field
>label
.所属任务
>select.ui.dropdown#task_sel
>option
#disabled
#selected
#hidden
#value =
.选择任务
%value = {{task}}
@change = fetchDetail
+task_list
>button.ui.button
@click = qtask_add
.添加任务
>button.ui.button
@click = qtask_edit
.编辑任务
>div.field
>div.four.fields
>div.field
>label
.预期开始时间
>input#expected_start_time
#type = text
#disabled
>div.field
>label
.预期结束时间
>input#expected_completion_time
#type = text
#disabled
>div.field
>label
.进度
>input
#type = number
#min = 0
#max = 100
%value = {{progress = 0}}
>div.field#longtimefield
>label
.任务模式
>button.ui.toggle.button#longtime
#disabled
.长期
>div.field
>label
.工作内容
>textarea
%value = {{dowhat}}
>div.three.fields
>div.field
>div.ui.buttons
>button.ui.button
@click = clean
.清除
>div.or.floated.right
>button.ui.positive.button
#style = display: {{ submitbtn = }}
@click = commitTime
.提交
>button.ui.positive.button
#style = display: {{ updatebtn = none }}
#data-info-id = {{info_id}}
@click = updateTime
.更新
>div.field
>div.ui.message.error#errmsg
#style = display: none
>div.content
.{{errmsg}}
>div.field
>div.ui.message
>div.header
.提交历史
>br
>p
>table.ui.celled.table.selectable.tablet.stackable
>thead
>tr
>th
.时间
>th
.项目
>th
.任务
>th
.情况说明
>th
.进度
>th
.操作
>tbody
+history
>div.ui.modal#dialogui
>i.close.icon
>div.header
.提示
>div.content
.{{dialog_msg}}
>div.ui.modal#quick_task
>i.close.icon
>div.header
#data-taskid = {{q_taskid}}
#data-taskstate = {{q_taskstate}}
.快速操作 {{qtask_type}}
>div.content
>form.ui.form.four.fields
>div.field
>div.label
.任务名称
>input
%value = {{qtask_name}}
>div.field
>div.label
.所属项目
>select.ui.dropdown
%value = {{qtask_project}}
>option
#disabled
#hidden
#selected
#value =
.选择项目
+qtask_project_list
>div.field
>div.label
.开始时间
>input#qtask_start_time
#type = date
>div.field
>div.label
.结束时间
>input#qtask_end_time
#type = date
>div.field
>div.label
.需求方
>input
%value = {{qtask_want}}
>div.field
>div.label
.任务类型
>select.ui.dropdown
%value = {{qtask_task_type = normal}}
>option
#value = normal
.普通任务
>option
#value = longtime
.长期任务
>div.field
>div.label
.配合者
>input
%value = {{qtask_together}}
>div.field
>div.label
.执行者
>input
%value = {{qtask_worker}}
>div.field
>div.label
.任务描述
>textarea
%value = {{qtask_content}}
>div.field
>div.label
.任务备注
>textarea
%value = {{qtask_others}}
>div.actions
>div.ui.negative.button
.取消
>div.ui.green.button
@click = quick_task
.确定
\ No newline at end of file
>div
>div.ui.fluid.styled.accordion
>div.title.active
>i.dropdown.icon
.本周事项
>div.content.active
>div.accordion
+thisweek
>div.title
>i.dropdown.icon
.下周事项
>div.content
>div.accordion
+nextweek
>div.ui.message
>div.header
.个人评价 {{wk_store_state}}
>div.content
>form.ui.form
@submit.prevent.capture
>div.ui.divider
>div.field
>div.label
.表扬与自我表扬
>textarea
%value = {{praise = }}
>div.field
>div.label
.批评与自我批评
>textarea
%value = {{criticism = }}
>div.field
>button.ui.primary.button
@click = sendWeekReport
.发送周报
>button.ui.pink.button#soulposion
@click = soulPosion
.给我一点灵感
>button.ui.basic.secondary.button
@click = saveWKR
.暂存评价
>button.ui.basic.secondary.button
@click = clearWKR
.清除暂存
>button.ui.basic.secondary.button
@click = importPStore
.从旧版本导入暂存
>div.ui.modal#infomation
>i.close.icon
>div.header
.{{modal_infomation}}
>div.content
.{{modal_content}}
\ No newline at end of file
>div.ui.grid
>div.four.column.row
>div.column
>div.label
.周报起始时间
>div.ui.input
>input
@change = changeShow:start
#type = date
%value = {{report_start_time}}
>div.column
>div.label
.周报结束时间
>div.ui.input
>input
@change = changeShow:end
#type = date
%value = {{report_end_time}}
>div.column
>div.label
.查看模式
>div.ui.button.toggle#switchList
@click = switchList
.仅查看未评分
>div.column
>div.label
.刷新列表
>button.ui.button.primary
@click = changeShow:refresh
.刷新
>div.row
>table.ui.celled.fixed.table
>thead
>tr
>th
.邮件编号
>th
#colspan = 2
.周报周数
>th
.发送人
>th
.周报状态
>th
.发送时间
>th
.操作
>tbody
+wkr_list
>div.ui.long.modal#rank
>div.header
.评价周报 {{wk_user_name}}
>div.content
>div.ui.form
>div.ui.message
>div.header
.本周事项
>div.content
>br
>div.ui.segments
+thisweek
>div.ui.message
>div.header
.下周事项
>div.content
>br
>div.ui.segments
+nextweek
>div.ui.message
>div.header
.周总结
>div.content
>p
.周工作时间总计: {{weeksum}} 小时
>div.ui.message
>div.header
.自我表扬与表扬
>div.content
>br
>textarea
%value = {{praise}}
#readonly
>div.ui.message
>div.header
.自我批评与批评
>div.content
>br
>textarea
%value = {{criticism}}
#readonly
>div.ui.message
>div.header
.打分
>div.content
>div.ui.form
>div.row
>div.two.fields
>div.field
>div.label
.业务负责打分
>input.wk-department.wk-all
%value = {{department_score}}
#readonly
>div.field
>div.label
.业务负责总结
>input.wk-department.wk-all
%value = {{department_note}}
#readonly
>div.ui.devider
>div.row
>div.two.fields
>div.field
>div.label
.管理中心打分
>input.wk-management.wk-all
%value = {{management_score}}
#readonly
>div.field
>div.label
.管理中心总结
>input.wk-management.wk-all
%value = {{management_note}}
#readonly
>div.row
>div.two.fields
>div.field
>div.label
.劳动总评打分
>input.wk-boss.wk-all
%value = {{boss_score}}
#readonly
>div.field
>div.label
.劳动总评总结
>input.wk-boss.wk-all
%value = {{boss_note}}
#readonly
>div.actions
>button.ui.button.negative
.取消
>button.ui.button.green#rankthis_btn
#data-user-id = {{wk_user_id}}
#data-user-name = {{wk_user_name}}
#data-id = {{wk_id}}
@click = rankthis
.提交
>div.ui.long.modal#infomation
>i.close.icon
>div.header
.提示
>div.content
.{{infomation}}
\ No newline at end of file
>div
>div.ui.fluid.styled.accordion
>div.title.active
>i.dropdown.icon
.本周事项
>div.content.active
>div.accordion
+thisweek
>div.title
>i.dropdown.icon
.下周事项
>div.content
>div.accordion
+nextweek
>div.title
>i.dropdown.icon
.打分
>div.content
>form.ui.form
@submit.prevent.capture
>div.two.fields
>div.field
>div.label
.业务负责打分
>input
#readonly
%value = {{department_score}}
>div.field
>div.label
.一句话备注
>input
#readonly
%value = {{department_note}}
>div.ui.divider
>div.two.fields
>div.field
>div.label
.管理部门打分
>input
#readonly
%value = {{management_score}}
>div.field
>div.label
.一句话备注
>input
#readonly
%value = {{management_note}}
>div.ui.divider
>div.two.fields
>div.field
>div.label
.劳动总评打分
>input
#readonly
%value = {{boss_score}}
>div.field
>div.label
.一句话备注
>input
#readonly
%value = {{boss_note}}
>div.ui.message
>div.header
.个人评价
>div.content
>form.ui.form
@submit.prevent.capture
>div.ui.divider
>div.field
>div.label
.表扬与自我表扬
>textarea
#readonly
%value = {{praise}}
>div.field
>div.label
.批评与自我批评
>textarea
#readonly
%value = {{criticism}}
\ No newline at end of file
>div.ui.grid
>div.three.column.row
>div.column
>div.label
.周报起始时间
>div.ui.input
>input
@change = changeShow:start
#type = date
%value = {{report_start_time}}
>div.column
>div.label
.周报结束时间
>div.ui.input
>input
@change = changeShow:end
#type = date
%value = {{report_end_time}}
>div.column
>div.label
.刷新列表
>button.ui.button.primary.{{load}}
@click = changeShow:refresh
.刷新
>div.row
-root
>div.row
>br
>br
\ No newline at end of file
>div.ui.middle.aligned.center.aligned.grid
#style = margin-top: 5em
>div.column.row
>div.column.aligned.center.centered
>h2.ui.teal.header.aligned.center
.登录到 阿米巴·轻
>div.column.row
>div.column.aligned.center.centered.ten.wide
>div.ui.large.form
@keypress.13 = login
>div.ui.stacked.segment.aligned.center
>div.field
>div.ui.left.icon.input
>i.user.icon
>input
#type = text
#placeholder = 用户名
%value = {{username}}
>div.field
>div.ui.left.icon.input
>i.user.icon
>input
#type = password
#placeholder = 密码
%value = {{password}}
>div.ui.fluid.large.teal.submit.button#loginbtn
@click = login
.登录
>div.ui.error.message#errmsg
#style = display: none
.{{errmsg}}
>div.ui.icon.error.message#notsecurehttp
>i.warning.sign.icon
#style = display: none
>div.header
.安全风险: 阿米巴·轻 正在通过非安全的方式连接!
>div.ui.icon.error.message#notsecureport
>i.warning.sign.icon
#style = display: none
>div.header
.安全风险: 阿米巴·轻 发现轻正运行于非标准端口上!
>div.column.row
>div.ui.icon.warning.message.floating
>i.notched.warning.sign.icon
>div.content
>div.header
.注意
>p
>p
.阿米巴·轻 是非官方版本
>p
.管理级高级功能不推荐使用
\ No newline at end of file
>div.ui.error.message
>div.header
.页面不存在
>ul.list
>li
.我无法处理您正在访问的页面
\ No newline at end of file
>div.ui.icon.warning.message.floating
>i.notched.warning.sign.icon
>div.content
>div.header
.已知的兼容性问题
>p
>p
.你正在使用 Safari 桌面版 浏览器
>p
.该浏览器由于未实现某些 HTML 标准
>p
.本功能无法在该浏览器上使用
>p
.请督促 Apple™ 尽快依照 HTML 标准完善浏览器
\ No newline at end of file
>div.ui.icon.info.message
>i.notched.circle.loading.icon
>div.content
>div.header
.Work In Progress
>p
.正在开发中
\ No newline at end of file
No preview for this file type
No preview for this file type
<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg width="100%" height="100%" viewBox="0 0 140 80" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5;"><g id="图层1"><path d="M10.251,38.835l-5.558,-11.117l5.289,-10.219l14.702,0.896l3.496,11.475l-7.53,6.992l-10.399,1.973Z" style="fill:none;stroke:#fff;stroke-width:0.5px;"/><path d="M10.161,45.468c0,0 11.295,-10.847 16.316,-11.564c5.02,-0.717 3.944,3.496 4.572,4.124c0.627,0.627 4.841,16.315 5.468,18.108l0.628,1.793l2.51,5.11l3.317,0.897c0,0 3.227,1.613 0.448,5.199c-2.779,3.586 -19.185,7.261 -19.185,7.261c0,0 -6.992,-2.689 -3.496,-6.992c0.986,-1.524 2.959,-14.343 -8.516,-20.081c-2.152,-1.793 -1.972,-3.586 -2.062,-3.855Z" style="fill:none;stroke:#fff;stroke-width:0.5px;"/><path d="M61.977,62.412c0,0 -15.42,-2.152 -15.061,-14.523c0.359,-12.371 12.192,-14.612 15.957,-14.612c3.765,0 0.448,2.241 0.448,2.241l-2.241,1.972l0.179,1.434l0.628,1.972l0.986,1.166l1.614,-1.703l2.241,0.448l2.689,1.524l1.345,1.345l1.703,0.717c0,0 4.034,2.151 5.379,-0.897c1.345,-3.048 1.255,-6.185 0.628,-8.337c-0.628,-2.151 -5.469,-8.516 -12.103,-8.785c-6.634,-0.269 -14.074,-0.807 -21.604,5.199c-7.531,6.007 -8.786,12.103 -8.965,16.585c-0.179,4.482 1.972,9.682 5.289,12.819c3.317,3.138 8.516,6.276 11.564,7.082c3.048,0.807 11.565,1.435 16.406,-1.255c4.841,-2.689 9.95,-4.93 9.502,-8.158c-0.448,-3.227 -2.151,-6.454 -5.916,-5.916c-3.766,2.062 -5.648,3.944 -5.648,3.944l0.717,1.255l2.331,-0.179l1.882,1.165l-0.269,0.897l-2.42,-0.269l-2.331,-0.359l-1.255,-1.165l-1.076,-0.179l-0.627,1.882l-1.972,2.69" style="fill:none;stroke:#fff;stroke-width:0.5px;"/><path d="M61.618,35.697l-3.586,0l-1.972,1.434l1.972,2.69l0.538,2.42c0,0 -0.627,-0.538 -1.076,0.986c-0.448,1.524 -1.703,2.062 -0.179,2.152c1.524,0.089 3.317,0.538 3.317,0.538c0,0 -0.448,1.344 -1.972,1.344c-1.524,0 -3.317,-0.627 -3.317,-0.627c0,0 -0.897,2.331 0.269,3.048c1.165,0.717 2.42,2.42 2.51,3.586c0.089,1.165 0.269,0.896 1.703,0.269c1.434,-0.628 1.883,-1.973 1.883,-1.973c0,0 -0.986,-1.434 -1.345,-1.524c-0.359,-0.089 3.496,-0.717 3.496,-0.179c0,0.538 -0.986,0.628 -0.986,1.255c0,0.628 0.179,2.062 1.076,2.062c0.896,0 4.213,-4.393 4.841,-4.124c0.089,-1.255 -0.807,-1.882 -0.807,-1.882c0,0 -0.897,-0.717 -2.062,-0.897c-1.165,-0.179 -2.331,1.076 -2.331,1.076l-0.358,-1.883l3.675,-0.358l0.628,-1.434c0,0 0.448,-0.718 -1.435,-0.538c-1.882,0.179 -3.675,0.358 -3.765,0.179c-0.089,-0.179 0.18,1.524 -1.255,0.269c-1.434,-1.255 -1.165,-1.434 -1.076,-3.138c0.09,-1.703 0,-1.972 -0.896,-2.51c-0.897,-0.538 2.6,-1.972 2.51,-2.241Z" style="fill:none;stroke:#fff;stroke-width:0.5px;"/><path d="M59.556,55.778c0,0 0.717,-1.883 2.6,-1.435c1.883,0.449 2.689,1.973 1.434,1.883c-1.255,-0.09 -2.599,1.434 -4.034,-0.448Z" style="fill:none;stroke:#fff;stroke-width:0.5px;"/><path d="M97.925,46.813c0,0 3.137,-4.124 5.379,-3.675c2.241,0.448 4.303,2.689 3.765,4.661c-0.538,1.972 -1.793,2.779 -4.124,2.6c-2.331,-0.179 -5.199,-1.614 -5.02,-3.586Z" style="fill:none;stroke:#fff;stroke-width:0.5px;"/><path d="M94.07,59.274c-1.883,-7.351 20.529,2.51 20.529,2.51c0,0 8.337,-1.434 5.827,-11.026c-2.51,-9.593 -8.247,-13.716 -13.536,-14.523c-5.29,-0.807 -15.599,-1.614 -20.888,3.675c-5.289,5.289 -6.993,11.565 -6.724,16.495c0.269,4.931 0.897,9.413 4.572,12.909c3.676,3.497 11.834,6.724 20.978,5.827c9.861,-3.585 8.695,-5.289 8.964,-5.827c0.269,-0.537 0.359,-4.392 -4.661,-3.496c-5.021,0.897 -13.178,0.807 -15.061,-6.544Z" style="fill:none;stroke:#fff;stroke-width:0.5px;"/><path d="M45.302,12.927c0,0 -6.723,3.048 -6.365,6.006c0.359,2.958 2.78,4.303 1.793,5.827c-0.986,1.524 -1.972,2.51 -1.972,2.51l2.779,5.2c0,0 4.303,-2.779 4.931,-3.855c0.627,-1.076 0.358,-4.841 0.358,-4.841c0,0 -0.179,-4.751 1.076,-4.303c1.255,0.448 -0.627,-6.544 -2.6,-6.544" style="fill:none;stroke:#fff;stroke-width:0.5px;"/><path d="M53.281,26.105l-4.393,-13.806l6.634,-1.972l3.496,14.612l-5.737,1.166Z" style="fill:none;stroke:#fff;stroke-width:0.5px;"/><path d="M47.723,6.383c0,0 5.737,-4.035 7.978,-0.18c2.242,3.855 -6.365,4.124 -7.082,2.959c-0.717,-1.166 -0.896,-2.779 -0.896,-2.779Z" style="fill:none;stroke:#fff;stroke-width:0.5px;"/><path d="M62.873,24.402l-1.703,-9.772c0,0 1.524,-7.172 5.827,-6.006c4.303,1.165 7.62,1.165 6.813,2.151c0.807,-0.448 4.034,-2.779 6.634,-1.882c2.6,0.896 4.751,3.227 4.751,4.93c0,1.704 -1.255,11.923 -1.255,11.923l-5.558,-0.269l0.179,-10.13l-1.434,-0.986l-0.448,0.717l-0.359,9.682l-6.275,0.269l-0.269,-9.592l-0.628,-1.614l-1.434,1.704l0.628,9.323l-5.469,-0.448" style="fill:none;stroke:#fff;stroke-width:0.5px;"/><path d="M92.188,5.576c-0.001,0 -4.483,13.088 -4.214,14.702c0.269,1.613 1.166,4.213 2.51,5.558c1.345,1.345 4.841,3.855 6.544,3.586c1.704,-0.269 7.262,-2.152 7.71,-4.841c0.448,-2.69 1.076,-7.262 -2.062,-9.323c-3.137,-2.062 -3.855,-2.242 -3.855,-2.242l-1.972,4.483c0,0 1.793,1.165 2.241,2.51c0.449,1.345 0.986,2.958 -1.165,3.586c-2.152,0.627 -3.317,-2.152 -2.69,-4.303c0.628,-2.152 3.586,-12.192 3.586,-12.192l-6.633,-1.524" style="fill:none;stroke:#fff;stroke-width:0.5px;"/><path d="M106.8,33.366c0,0 -3.765,-5.917 1.703,-10.22c5.469,-4.303 9.054,-1.792 11.565,-0.448c2.51,1.345 3.048,7.62 2.42,9.234c-0.628,1.613 -4.213,5.558 -4.213,5.558l3.406,2.151c0,0 1.972,1.345 3.048,0.449c1.076,-0.897 4.034,-4.841 4.034,-4.841c0,0 3.138,-0.897 4.572,0.089c1.435,0.986 2.152,2.242 1.972,3.228c-0.179,0.986 0,1.613 -1.792,2.151c-1.793,0.538 -5.11,0.359 -5.828,-1.076c-0.717,-1.434 -1.255,1.793 -2.689,2.152c-1.434,0.359 -1.524,1.793 -3.317,1.524c-1.793,-0.269 -4.751,-0.897 -4.751,-0.897l-4.931,-5.378l2.6,-4.393l2.241,-2.6c0,0 -0.717,-4.034 -2.689,-3.496c-1.972,0.538 -2.421,3.227 -0.897,4.751c1.524,1.524 -0.717,2.062 -0.717,2.062l-1.972,2.51l-3.765,-2.51Z" style="fill:none;stroke:#fff;stroke-width:0.5px;"/></g></svg>
\ No newline at end of file
This diff is collapsed. Click to expand it.
/* chartist-plugin-tooltip 0.0.18
* Copyright © 2017 Markus Padourek
* Free to use under the WTFPL license.
* http://www.wtfpl.net/
*/
!function(a,b){"function"==typeof define&&define.amd?define(["chartist"],function(c){return a.returnExportsGlobal=b(c)}):"object"==typeof exports?module.exports=b(require("chartist")):a["Chartist.plugins.tooltip"]=b(Chartist)}(this,function(a){return function(a,b,c){"use strict";function d(a){f(a,"tooltip-show")||(a.className=a.className+" tooltip-show")}function e(a){var b=new RegExp("tooltip-show\\s*","gi");a.className=a.className.replace(b,"").trim()}function f(a,b){return(" "+a.getAttribute("class")+" ").indexOf(" "+b+" ")>-1}function g(a,b){do{a=a.nextSibling}while(a&&!f(a,b));return a}function h(a){return a.innerText||a.textContent}var i={currency:void 0,currencyFormatCallback:void 0,tooltipOffset:{x:0,y:-20},anchorToPoint:!1,appendToBody:!1,class:void 0,pointClass:"ct-point"};c.plugins=c.plugins||{},c.plugins.tooltip=function(j){return j=c.extend({},i,j),function(i){function k(a,b,c){n.addEventListener(a,function(a){b&&!f(a.target,b)||c(a)})}function l(b){p=p||o.offsetHeight,q=q||o.offsetWidth;var c,d,e=-q/2+j.tooltipOffset.x,f=-p+j.tooltipOffset.y;if(j.appendToBody)o.style.top=b.pageY+f+"px",o.style.left=b.pageX+e+"px";else{var g=n.getBoundingClientRect(),h=b.pageX-g.left-a.pageXOffset,i=b.pageY-g.top-a.pageYOffset;!0===j.anchorToPoint&&b.target.x2&&b.target.y2&&(c=parseInt(b.target.x2.baseVal.value),d=parseInt(b.target.y2.baseVal.value)),o.style.top=(d||i)+f+"px",o.style.left=(c||h)+e+"px"}}var m=j.pointClass;i.constructor.name==c.Bar.prototype.constructor.name?m="ct-bar":i.constructor.name==c.Pie.prototype.constructor.name&&(m=i.options.donut?"ct-slice-donut":"ct-slice-pie");var n=i.container,o=n.querySelector(".chartist-tooltip");o||(o=b.createElement("div"),o.className=j.class?"chartist-tooltip "+j.class:"chartist-tooltip",j.appendToBody?b.body.appendChild(o):n.appendChild(o));var p=o.offsetHeight,q=o.offsetWidth;e(o),k("mouseover",m,function(a){var e=a.target,f="",k=i instanceof c.Pie?e:e.parentNode,m=k?e.parentNode.getAttribute("ct:meta")||e.parentNode.getAttribute("ct:series-name"):"",n=e.getAttribute("ct:meta")||m||"",r=!!n,s=e.getAttribute("ct:value");if(j.transformTooltipTextFnc&&"function"==typeof j.transformTooltipTextFnc&&(s=j.transformTooltipTextFnc(s)),j.tooltipFnc&&"function"==typeof j.tooltipFnc)f=j.tooltipFnc(n,s);else{if(j.metaIsHTML){var t=b.createElement("textarea");t.innerHTML=n,n=t.value}if(n='<span class="chartist-tooltip-meta">'+n+"</span>",r)f+=n+"<br>";else if(i instanceof c.Pie){var u=g(e,"ct-label");u&&(f+=h(u)+"<br>")}s&&(j.currency&&(s=void 0!=j.currencyFormatCallback?j.currencyFormatCallback(s,j):j.currency+s.replace(/(\d)(?=(\d{3})+(?:\.\d+)?$)/g,"$1,")),s='<span class="chartist-tooltip-value">'+s+"</span>",f+=s)}f&&(o.innerHTML=f,l(a),d(o),p=o.offsetHeight,q=o.offsetWidth)}),k("mouseout",m,function(){e(o)}),k("mousemove",null,function(a){!1===j.anchorToPoint&&l(a)})}}}(window,document,a),a.plugins.tooltip});
//# sourceMappingURL=chartist-plugin-tooltip.min.js.map
\ No newline at end of file
This diff is collapsed. Click to expand it.
/*!
* FullCalendar v3.8.2
* Docs & License: https://fullcalendar.io/
* (c) 2018 Adam Shaw
*/
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("fullcalendar"),require("jquery")):"function"==typeof define&&define.amd?define(["fullcalendar","jquery"],t):"object"==typeof exports?t(require("fullcalendar"),require("jquery")):t(e.FullCalendar,e.jQuery)}("undefined"!=typeof self?self:this,function(e,t){return function(e){function t(o){if(r[o])return r[o].exports;var n=r[o]={i:o,l:!1,exports:{}};return e[o].call(n.exports,n,n.exports,t),n.l=!0,n.exports}var r={};return t.m=e,t.c=r,t.d=function(e,r,o){t.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:o})},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=265)}({1:function(t,r){t.exports=e},2:function(e,t){var r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])};t.__extends=function(e,t){function o(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}},265:function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var o=r(1),n=r(266);o.EventSourceParser.registerClass(n.default),o.GcalEventSource=n.default},266:function(e,t,r){function o(e){var t;return/^[^\/]+@([^\/\.]+\.)*(google|googlemail|gmail)\.com$/.test(e)?e:(t=/^https:\/\/www.googleapis.com\/calendar\/v3\/calendars\/([^\/]*)/.exec(e))||(t=/^https?:\/\/www.google.com\/calendar\/feeds\/([^\/]*)/.exec(e))?decodeURIComponent(t[1]):void 0}function n(e,t){return e.replace(/(\?.*?)?(#|$)/,function(e,r,o){return(r?r+"&":"?")+t+o})}Object.defineProperty(t,"__esModule",{value:!0});var a=r(2),l=r(3),i=r(1),u=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return a.__extends(t,e),t.parse=function(e,t){var r;return"object"==typeof e?r=e:"string"==typeof e&&(r={url:e}),!!r&&i.EventSource.parse.call(this,r,t)},t.prototype.fetch=function(e,t,r){var o=this,n=this.buildUrl(),a=this.buildRequestParams(e,t,r),u=this.ajaxSettings||{},c=u.success;return a?(this.calendar.pushLoading(),i.Promise.construct(function(e,t){l.ajax(l.extend({},i.JsonFeedEventSource.AJAX_DEFAULTS,u,{url:n,data:a,success:function(r,n,u){var s,p;o.calendar.popLoading(),r.error?(o.reportError("Google Calendar API: "+r.error.message,r.error.errors),t()):r.items&&(s=o.gcalItemsToRawEventDefs(r.items,a.timeZone),p=i.applyAll(c,o,[r,n,u]),l.isArray(p)&&(s=p),e(o.parseEventDefs(s)))},error:function(e,r,n){o.reportError("Google Calendar network failure: "+r,[e,n]),o.calendar.popLoading(),t()}}))})):i.Promise.reject()},t.prototype.gcalItemsToRawEventDefs=function(e,t){var r=this;return e.map(function(e){return r.gcalItemToRawEventDef(e,t)})},t.prototype.gcalItemToRawEventDef=function(e,t){var r=e.htmlLink||null;return r&&t&&(r=n(r,"ctz="+t)),{id:e.id,title:e.summary,start:e.start.dateTime||e.start.date,end:e.end.dateTime||e.end.date,url:r,location:e.location,description:e.description}},t.prototype.buildUrl=function(){return t.API_BASE+"/"+encodeURIComponent(this.googleCalendarId)+"/events?callback=?"},t.prototype.buildRequestParams=function(e,t,r){var o,n=this.googleCalendarApiKey||this.calendar.opt("googleCalendarApiKey");return n?(e.hasZone()||(e=e.clone().utc().add(-1,"day")),t.hasZone()||(t=t.clone().utc().add(1,"day")),o=l.extend(this.ajaxSettings.data||{},{key:n,timeMin:e.format(),timeMax:t.format(),singleEvents:!0,maxResults:9999}),r&&"local"!==r&&(o.timeZone=r.replace(" ","_")),o):(this.reportError("Specify a googleCalendarApiKey. See http://fullcalendar.io/docs/google_calendar/"),null)},t.prototype.reportError=function(e,t){var r=this.calendar,o=r.opt("googleCalendarError"),n=t||[{message:e}];this.googleCalendarError&&this.googleCalendarError.apply(r,n),o&&o.apply(r,n),i.warn.apply(null,[e].concat(t||[]))},t.prototype.getPrimitive=function(){return this.googleCalendarId},t.prototype.applyManualStandardProps=function(e){var t=i.EventSource.prototype.applyManualStandardProps.apply(this,arguments),r=e.googleCalendarId;return null==r&&e.url&&(r=o(e.url)),null!=r&&(this.googleCalendarId=r,t)},t.prototype.applyMiscProps=function(e){this.ajaxSettings||(this.ajaxSettings={}),l.extend(this.ajaxSettings,e)},t.API_BASE="https://www.googleapis.com/calendar/v3/calendars",t}(i.EventSource);t.default=u,u.defineStandardProps({url:!1,googleCalendarId:!1,googleCalendarApiKey:!0,googleCalendarError:!0})},3:function(e,r){e.exports=t}})});
\ No newline at end of file
This diff could not be displayed because it is too large.
axios.get('/loader.json').then(function(result) {
var jsPromise = []
var jsPromiseName = []
var cssPromise = []
var cssPromiseName = []
var finishedTask = 0
var nothingTask = 0
window.sessionStorage.clear()
window.sessionStorage.setItem('jsloader_version', result.data.version)
if (result.data.version === 'debug' || result.data.version !== window.localStorage.getItem('jsloader_version')) {
var user_name = window.localStorage.getItem('user_name')
var permission = window.localStorage.getItem('permission')
var password = window.localStorage.getItem('password')
window.localStorage.clear()
if (user_name !== null) window.localStorage.setItem('user_name', user_name)
if (permission !== null) window.localStorage.setItem('permission', permission)
if (password !== null) window.localStorage.setItem('password', password)
}
window.sessionStorage.setItem('template_', JSON.stringify(result.data.template))
for (index in result.data.js) {
if (window.localStorage.getItem('js_' + index) === null) {
jsPromise.push(axios.get(result.data.js[index]))
jsPromiseName.push(index)
}
}
for (index in result.data.css) {
if (window.localStorage.getItem('css_' + index) === null) {
cssPromise.push(axios.get(result.data.css[index]))
cssPromiseName.push(index)
}
}
Promise.all(cssPromise).then(values => {
for (i in values) {
window.localStorage.setItem('css_' + cssPromiseName[i], values[i].data)
}
for (ind in result.data.css) {
var child = document.createElement('style')
child.innerHTML = window.localStorage.getItem('css_' + ind)
document.head.appendChild(child)
}
if (values.length > 0) {
finishedTask = finishedTask + 1
} else {
nothingTask = nothingTask + 1
}
})
Promise.all(jsPromise).then(values => {
for (i in values) {
window.localStorage.setItem('js_' + jsPromiseName[i], values[i].data)
}
for (ind in result.data.js) {
var child = document.createElement('script')
child.text = window.localStorage.getItem('js_' + ind)
document.body.appendChild(child)
}
if (values.length > 0) {
finishedTask = finishedTask + 1
} else {
nothingTask = nothingTask + 1
}
})
new Promise(async function (resolve) {
while (finishedTask < 2) {
await new Promise(resolve => { setTimeout(resolve,1000) })
if (nothingTask === 2) break
}
window.localStorage.setItem('jsloader_version', window.sessionStorage.getItem('jsloader_version'))
if (finishedTask === 2) {
window.location.reload()
}
resolve()
}).then(function(){})
})
\ No newline at end of file
This diff could not be displayed because it is too large.
if (typeof window.localStorage == 'undefined' || typeof window.sessionStorage == 'undefined') (function () {
var Storage = function (type) {
function createCookie(name, value, days) {
var date, expires;
if (days) {
date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
expires = "; expires="+date.toGMTString();
} else {
expires = "";
}
document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name) {
var nameEQ = name + "=",
ca = document.cookie.split(';'),
i, c;
for (i=0; i < ca.length; i++) {
c = ca[i];
while (c.charAt(0)==' ') {
c = c.substring(1,c.length);
}
if (c.indexOf(nameEQ) == 0) {
return c.substring(nameEQ.length,c.length);
}
}
return null;
}
function setData(data) {
data = JSON.stringify(data);
if (type == 'session') {
window.name = data;
} else {
createCookie('localStorage', data, 365);
}
}
function clearData() {
if (type == 'session') {
window.name = '';
} else {
createCookie('localStorage', '', 365);
}
}
function getData() {
var data = type == 'session' ? window.name : readCookie('localStorage');
return data ? JSON.parse(data) : {};
}
// initialise if there's already data
var data = getData();
return {
length: 0,
clear: function () {
data = {};
this.length = 0;
clearData();
},
getItem: function (key) {
return data[key] === undefined ? null : data[key];
},
key: function (i) {
// not perfect, but works
var ctr = 0;
for (var k in data) {
if (ctr == i) return k;
else ctr++;
}
return null;
},
removeItem: function (key) {
delete data[key];
this.length--;
setData(data);
},
setItem: function (key, value) {
data[key] = value+''; // forces the value to a string
this.length++;
setData(data);
}
};
};
if (typeof window.localStorage == 'undefined') window.localStorage = new Storage('local');
if (typeof window.sessionStorage == 'undefined') window.sessionStorage = new Storage('session');
})();
\ No newline at end of file
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff is collapsed. Click to expand it.
This diff could not be displayed because it is too large.
// Generated by CoffeeScript 1.7.1
/*
Stomp Over WebSocket http://www.jmesnil.net/stomp-websocket/doc/ | Apache License V2.0
Copyright (C) 2010-2013 [Jeff Mesnil](http://jmesnil.net/)
Copyright (C) 2012 [FuseSource, Inc.](http://fusesource.com)
*/
(function(){var t,e,n,i,r={}.hasOwnProperty,o=[].slice;t={LF:"\n",NULL:"\x00"};n=function(){var e;function n(t,e,n){this.command=t;this.headers=e!=null?e:{};this.body=n!=null?n:""}n.prototype.toString=function(){var e,i,o,s,u;e=[this.command];o=this.headers["content-length"]===false?true:false;if(o){delete this.headers["content-length"]}u=this.headers;for(i in u){if(!r.call(u,i))continue;s=u[i];e.push(""+i+":"+s)}if(this.body&&!o){e.push("content-length:"+n.sizeOfUTF8(this.body))}e.push(t.LF+this.body);return e.join(t.LF)};n.sizeOfUTF8=function(t){if(t){return encodeURI(t).match(/%..|./g).length}else{return 0}};e=function(e){var i,r,o,s,u,a,c,f,h,l,p,d,g,b,m,v,y;s=e.search(RegExp(""+t.LF+t.LF));u=e.substring(0,s).split(t.LF);o=u.shift();a={};d=function(t){return t.replace(/^\s+|\s+$/g,"")};v=u.reverse();for(g=0,m=v.length;g<m;g++){l=v[g];f=l.indexOf(":");a[d(l.substring(0,f))]=d(l.substring(f+1))}i="";p=s+2;if(a["content-length"]){h=parseInt(a["content-length"]);i=(""+e).substring(p,p+h)}else{r=null;for(c=b=p,y=e.length;p<=y?b<y:b>y;c=p<=y?++b:--b){r=e.charAt(c);if(r===t.NULL){break}i+=r}}return new n(o,a,i)};n.unmarshall=function(n){var i,r,o,s;r=n.split(RegExp(""+t.NULL+t.LF+"*"));s={frames:[],partial:""};s.frames=function(){var t,n,o,s;o=r.slice(0,-1);s=[];for(t=0,n=o.length;t<n;t++){i=o[t];s.push(e(i))}return s}();o=r.slice(-1)[0];if(o===t.LF||o.search(RegExp(""+t.NULL+t.LF+"*$"))!==-1){s.frames.push(e(o))}else{s.partial=o}return s};n.marshall=function(e,i,r){var o;o=new n(e,i,r);return o.toString()+t.NULL};return n}();e=function(){var e;function r(t){this.ws=t;this.ws.binaryType="arraybuffer";this.counter=0;this.connected=false;this.heartbeat={outgoing:1e4,incoming:1e4};this.maxWebSocketFrameSize=16*1024;this.subscriptions={};this.partialData=""}r.prototype.debug=function(t){var e;return typeof window!=="undefined"&&window!==null?(e=window.console)!=null?e.log(t):void 0:void 0};e=function(){if(Date.now){return Date.now()}else{return(new Date).valueOf}};r.prototype._transmit=function(t,e,i){var r;r=n.marshall(t,e,i);if(typeof this.debug==="function"){this.debug(">>> "+r)}while(true){if(r.length>this.maxWebSocketFrameSize){this.ws.send(r.substring(0,this.maxWebSocketFrameSize));r=r.substring(this.maxWebSocketFrameSize);if(typeof this.debug==="function"){this.debug("remaining = "+r.length)}}else{return this.ws.send(r)}}};r.prototype._setupHeartbeat=function(n){var r,o,s,u,a,c;if((a=n.version)!==i.VERSIONS.V1_1&&a!==i.VERSIONS.V1_2){return}c=function(){var t,e,i,r;i=n["heart-beat"].split(",");r=[];for(t=0,e=i.length;t<e;t++){u=i[t];r.push(parseInt(u))}return r}(),o=c[0],r=c[1];if(!(this.heartbeat.outgoing===0||r===0)){s=Math.max(this.heartbeat.outgoing,r);if(typeof this.debug==="function"){this.debug("send PING every "+s+"ms")}this.pinger=i.setInterval(s,function(e){return function(){e.ws.send(t.LF);return typeof e.debug==="function"?e.debug(">>> PING"):void 0}}(this))}if(!(this.heartbeat.incoming===0||o===0)){s=Math.max(this.heartbeat.incoming,o);if(typeof this.debug==="function"){this.debug("check PONG every "+s+"ms")}return this.ponger=i.setInterval(s,function(t){return function(){var n;n=e()-t.serverActivity;if(n>s*2){if(typeof t.debug==="function"){t.debug("did not receive server activity for the last "+n+"ms")}return t.ws.close()}}}(this))}};r.prototype._parseConnect=function(){var t,e,n,i;t=1<=arguments.length?o.call(arguments,0):[];i={};switch(t.length){case 2:i=t[0],e=t[1];break;case 3:if(t[1]instanceof Function){i=t[0],e=t[1],n=t[2]}else{i.login=t[0],i.passcode=t[1],e=t[2]}break;case 4:i.login=t[0],i.passcode=t[1],e=t[2],n=t[3];break;default:i.login=t[0],i.passcode=t[1],e=t[2],n=t[3],i.host=t[4]}return[i,e,n]};r.prototype.connect=function(){var r,s,u,a;r=1<=arguments.length?o.call(arguments,0):[];a=this._parseConnect.apply(this,r);u=a[0],this.connectCallback=a[1],s=a[2];if(typeof this.debug==="function"){this.debug("Opening Web Socket...")}this.ws.onmessage=function(i){return function(r){var o,u,a,c,f,h,l,p,d,g,b,m,v;c=typeof ArrayBuffer!=="undefined"&&r.data instanceof ArrayBuffer?(o=new Uint8Array(r.data),typeof i.debug==="function"?i.debug("--- got data length: "+o.length):void 0,function(){var t,e,n;n=[];for(t=0,e=o.length;t<e;t++){u=o[t];n.push(String.fromCharCode(u))}return n}().join("")):r.data;i.serverActivity=e();if(c===t.LF){if(typeof i.debug==="function"){i.debug("<<< PONG")}return}if(typeof i.debug==="function"){i.debug("<<< "+c)}d=n.unmarshall(i.partialData+c);i.partialData=d.partial;m=d.frames;v=[];for(g=0,b=m.length;g<b;g++){f=m[g];switch(f.command){case"CONNECTED":if(typeof i.debug==="function"){i.debug("connected to server "+f.headers.server)}i.connected=true;i._setupHeartbeat(f.headers);v.push(typeof i.connectCallback==="function"?i.connectCallback(f):void 0);break;case"MESSAGE":p=f.headers.subscription;l=i.subscriptions[p]||i.onreceive;if(l){a=i;h=f.headers["message-id"];f.ack=function(t){if(t==null){t={}}return a.ack(h,p,t)};f.nack=function(t){if(t==null){t={}}return a.nack(h,p,t)};v.push(l(f))}else{v.push(typeof i.debug==="function"?i.debug("Unhandled received MESSAGE: "+f):void 0)}break;case"RECEIPT":v.push(typeof i.onreceipt==="function"?i.onreceipt(f):void 0);break;case"ERROR":v.push(typeof s==="function"?s(f):void 0);break;default:v.push(typeof i.debug==="function"?i.debug("Unhandled frame: "+f):void 0)}}return v}}(this);this.ws.onclose=function(t){return function(){var e;e="Whoops! Lost connection to "+t.ws.url;if(typeof t.debug==="function"){t.debug(e)}t._cleanUp();return typeof s==="function"?s(e):void 0}}(this);return this.ws.onopen=function(t){return function(){if(typeof t.debug==="function"){t.debug("Web Socket Opened...")}u["accept-version"]=i.VERSIONS.supportedVersions();u["heart-beat"]=[t.heartbeat.outgoing,t.heartbeat.incoming].join(",");return t._transmit("CONNECT",u)}}(this)};r.prototype.disconnect=function(t,e){if(e==null){e={}}this._transmit("DISCONNECT",e);this.ws.onclose=null;this.ws.close();this._cleanUp();return typeof t==="function"?t():void 0};r.prototype._cleanUp=function(){this.connected=false;if(this.pinger){i.clearInterval(this.pinger)}if(this.ponger){return i.clearInterval(this.ponger)}};r.prototype.send=function(t,e,n){if(e==null){e={}}if(n==null){n=""}e.destination=t;return this._transmit("SEND",e,n)};r.prototype.subscribe=function(t,e,n){var i;if(n==null){n={}}if(!n.id){n.id="sub-"+this.counter++}n.destination=t;this.subscriptions[n.id]=e;this._transmit("SUBSCRIBE",n);i=this;return{id:n.id,unsubscribe:function(){return i.unsubscribe(n.id)}}};r.prototype.unsubscribe=function(t){delete this.subscriptions[t];return this._transmit("UNSUBSCRIBE",{id:t})};r.prototype.begin=function(t){var e,n;n=t||"tx-"+this.counter++;this._transmit("BEGIN",{transaction:n});e=this;return{id:n,commit:function(){return e.commit(n)},abort:function(){return e.abort(n)}}};r.prototype.commit=function(t){return this._transmit("COMMIT",{transaction:t})};r.prototype.abort=function(t){return this._transmit("ABORT",{transaction:t})};r.prototype.ack=function(t,e,n){if(n==null){n={}}n["message-id"]=t;n.subscription=e;return this._transmit("ACK",n)};r.prototype.nack=function(t,e,n){if(n==null){n={}}n["message-id"]=t;n.subscription=e;return this._transmit("NACK",n)};return r}();i={VERSIONS:{V1_0:"1.0",V1_1:"1.1",V1_2:"1.2",supportedVersions:function(){return"1.1,1.0"}},client:function(t,n){var r,o;if(n==null){n=["v10.stomp","v11.stomp"]}r=i.WebSocketClass||WebSocket;o=new r(t,n);return new e(o)},over:function(t){return new e(t)},Frame:n};if(typeof exports!=="undefined"&&exports!==null){exports.Stomp=i}if(typeof window!=="undefined"&&window!==null){i.setInterval=function(t,e){return window.setInterval(e,t)};i.clearInterval=function(t){return window.clearInterval(t)};window.Stomp=i}else if(!exports){self.Stomp=i}}).call(this);
\ No newline at end of file
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!