diff --git a/app/models/user.rb b/app/models/user.rb
index 54aa8d85e..f1b8c3d23 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -723,8 +723,8 @@ class User < ApplicationRecord
end
def validate_sensitive_string
- raise("真实姓名包含敏感词汇,请重新输入") unless HarmoniousDictionary.clean?(lastname)
- raise("昵称包含敏感词汇,请重新输入") unless HarmoniousDictionary.clean?(nickname)
+ raise("真实姓名包含敏感词汇,请重新输入") if lastname && !HarmoniousDictionary.clean?(lastname)
+ raise("昵称包含敏感词汇,请重新输入") if nickname && !HarmoniousDictionary.clean?(nickname)
end
def set_laboratory
diff --git a/config/harmonious_dictionary/chinese_dictionary.txt b/config/harmonious_dictionary/chinese_dictionary.txt
index 3040d9d0e..ce247eb45 100644
--- a/config/harmonious_dictionary/chinese_dictionary.txt
+++ b/config/harmonious_dictionary/chinese_dictionary.txt
@@ -10,26 +10,21 @@
李源潮
李干成
戴秉国
-黄镇
刘延东
刘瑞龙
俞正声
-黄敬
薄熙来
薄一波
周小川
周建南
温云松
-徐明
江绵康
李小鹏
李小琳
朱云来
让国人愤怒的第二代身份证
-第二代身份证
文化大革命
胡海峰
-六四
陈良宇
老丁
莱仕德事件
@@ -68,11 +63,9 @@ PK黑社会
反华
官商勾结
升达毕业证
-手机复制
戴海静
自杀指南
自杀手册
-张小平
佳静安定片
蒙汗药粉
古方迷香
@@ -105,7 +98,6 @@ PK黑社会
反政府
禁书
特码
-成人
国民党
贪污
骚妇
@@ -154,7 +146,6 @@ PK黑社会
AV
十八禁
性虐待
-激情
耽美
金瓶梅
藏春阁
@@ -181,15 +172,13 @@ AV
政府无能
九评
十七大代表
-办证
暴力拆迁
轮暴致死
-人民报
暴力镇压
高干子弟名单
性免费电影
全裸
-偷 拍
+偷拍
中共十七大
徐和柴学友
修炼之歌
@@ -250,7 +239,6 @@ A集中营
中共特务
乙醚
党内分裂
-新生网
圆明网
和平修炼
放下生死
@@ -303,10 +291,6 @@ A集中营
明慧周刊
九评共产党
江泽民其人
-秘密文件
-机密文件
-红头文件
-政府文件
破网软件
无界浏览
亲共来源
@@ -341,7 +325,6 @@ H漫画
香港GHB水
色空寺
周容重
-朱蒙
汕頭頻傳擄童割器官
法輪功
六决不
@@ -371,15 +354,12 @@ H漫画
敢坐飞机吗
韩国身份证
台湾身份证
-广电总局
学生暴动
镇压学生
广安第二人民医院
-山不过来
胡新宇
趙紫陽
自由亚州
-明慧
践踏中国女性
拉凳
南京大学法学院
@@ -389,7 +369,6 @@ H漫画
崔英杰
松花江污染
火药制作
-江氏
第十六次代表
仁寿警方
愈快乐愈堕落
@@ -433,7 +412,6 @@ H漫画
二奶
2奶
纪股票市场五卅惨案
-这年头就这样
代开普通发票
代开商品发票
代开国税发票
@@ -487,7 +465,6 @@ H漫画
死刑过程
学生与警察
鬼村
-周容
重题工
先烈的电电
身份证生成
@@ -509,17 +486,14 @@ H漫画
生成身份证
华国锋
叶剑英
-陈云
李先念
汪东兴
韦国清
乌兰夫
-方毅
刘伯承
许世友
纪登奎
苏振华
-吴德
余秋里
张廷发
陈永贵
@@ -528,15 +502,12 @@ H漫画
聂荣臻
倪志福
徐向前
-彭冲
-王震
邓颖超
杨尚昆
杨得志
宋任穷
胡乔木
胡耀邦
-彭真
廖承志
秦基伟
陈慕华
@@ -549,21 +520,16 @@ H漫画
芮杏文
杨白冰
邹家华
-谢非
谭绍文
王汉斌
任建新
于永波
傅全有
-吴仪
-王克
王乐泉
王兆国
-刘淇
刘云山
张立昌
张德江
-王刚
隐形耳机
隐形摄像头
裸聊
@@ -629,11 +595,7 @@ a级情片
藏独
曹长青
曹刚川
-柴玲
-常劲
陈炳基
-陈军
-陈蒙
陈破空
陈希同
陈小同
@@ -641,17 +603,13 @@ a级情片
陈一谘
陈总统
程铁军
-程真
迟浩田
持不同政见
赤匪
赤化
达赖
大参考
-大法
大纪园
-大家论坛
-大史记
大史纪
戴相龙
弹劾
@@ -663,7 +621,6 @@ a级情片
电视流氓
钓鱼岛
丁关根
-丁元
丁子霖
东北独立
东社
@@ -702,7 +659,6 @@ a级情片
炼功
李总统
李登辉
-李鹏
李瑞环
吐血
18禁
@@ -828,7 +784,6 @@ A片
薄格
調教
乱伦
-偷拍
更衣
無修正
虐待
@@ -854,16 +809,12 @@ A片
伊東
武藤蘭
叶子楣
-舒淇
-麻衣
櫻井
風花
星野桃
-宝来
桜田
藤井彩
小森美王
-平井
桃井望
榊彩弥
桜井
@@ -876,7 +827,6 @@ A片
長瀬愛
中野千夏
春菜
-望月
岡崎美女
宮下杏奈
加藤
@@ -884,24 +834,12 @@ A片
北島優
一本道
夜勤病栋
-三个代表
-一党
-多党
-民主
-专政
避孕套
你妈逼
大鸡巴
政治
-洪志
-红志
-洪智
-红智
-民运
-王丹
卖春
买春
-天安门
朱容基
朱镕基
温家宝
@@ -915,14 +853,12 @@ A片
黑社会
夜总会
妈个
-公款
坐台
腐败
城管
暴动
李远哲
司法警官
-高干
尉健行
李岚清
黄丽满
@@ -938,19 +874,10 @@ A片
吴邦国
曾庆红
黄菊
-罗干
吴官正
贾庆林
专制
-三個代表
-一黨
-多黨
-專政
大紀元
-紅志
-紅智
-李鵬
-天安門
江澤民
朱鎔基
李長春
@@ -963,9 +890,7 @@ A片
溫家寶
吳邦國
曾慶紅
-黃菊
賈慶林
-專制
反人类
反社会
方励之
@@ -984,12 +909,10 @@ A片
付申奇
傅申奇
傅志寰
-高官
高文谦
高薪养廉
高瞻
高自联
-戈扬
鸽派
个人崇拜
工自联
@@ -1000,10 +923,8 @@ A片
共军
关卓中
贯通两极法
-广闻
郭伯雄
郭罗基
-郭平
郭岩华
国家安全
国家机密
@@ -1017,13 +938,11 @@ A片
红色恐怖
宏法
洪传
-洪吟
洪哲胜
胡紧掏
胡锦滔
胡锦淘
胡景涛
-胡平
胡总书记
护法
花花公子
@@ -1046,9 +965,7 @@ A片
江core
江八点
江流氓
-江罗
江绵恒
-江青
江戏子
江则民
江泽慧
@@ -1064,9 +981,7 @@ A片
教养院
揭批书
金尧如
-锦涛
禁看
-经文
开放杂志
抗议
邝锦文
@@ -1079,8 +994,6 @@ A片
李洪宽
李继耐
李兰菊
-李录
-李禄
李少民
李淑娴
李旺阳
@@ -1099,16 +1012,13 @@ A片
林长盛
林樵清
林慎立
-凌锋
刘宾深
刘宾雁
-刘刚
刘国凯
刘华清
刘俊国
刘凯中
刘千石
-刘青
刘山青
刘士贤
刘文胜
@@ -1153,17 +1063,12 @@ A片
潘国平
泡沫经济
迫害
-祁建
-齐墨
-钱达
钱国梁
钱其琛
抢粮记
-乔石
亲美
钦本立
情妇
-庆红
热比娅
热站政论网
人民内情真相
@@ -1174,11 +1079,8 @@ A片
上海帮
邵家健
神通加持法
-沈彤
升天
盛华仁
-盛雪
-石戈
时代论坛
时事论坛
世界经济导报
@@ -1191,7 +1093,6 @@ A片
司徒华
斯诺
四川独立
-宋平
宋书元
苏绍智
苏晓康
@@ -1204,11 +1105,9 @@ A片
太子党
汤光中
唐柏桥
-唐捷
滕文生
天怒
天葬
-童屹
统独
统独论坛
统战
@@ -1216,10 +1115,8 @@ A片
外交与方略
万润南
万晓东
-汪岷
王宝森
王炳章
-王策
王超华
王辅臣
王涵万
@@ -1246,11 +1143,9 @@ A片
吴学璨
吾尔开希
五不
-伍凡
洗脑
项怀诚
项小吉
-肖强
邪恶
谢长廷
谢选骏
@@ -1269,10 +1164,7 @@ A片
徐匡迪
徐水良
许家屯
-薛伟
学潮
-学联
-学运
学自联
雪山狮子
严家其
@@ -1282,13 +1174,9 @@ A片
央视内部晚会
杨怀安
杨建利
-杨巍
杨月清
-杨周
姚月谦
一中一台
-义解
-亦凡
异见人士
异议人士
易丹轩
@@ -1296,38 +1184,27 @@ A片
尹庆民
由喜贵
游行
-幼齿
于大海
于浩成
余英时
舆论反制
宇明网
远志明
-岳武
-则民
-择民
-泽民
贼民
曾培炎
张伯笠
-张钢
张宏堡
-张健
-张林
张万年
张伟国
张昭富
张志清
赵海青
-赵南
赵品潞
赵晓微
赵紫阳
-哲民
镇压
争鸣论坛
正见网
-郑义
正义党论坛
换妻
真木加美
@@ -1350,12 +1227,9 @@ A片
东京热
菅野亚梨沙
吉岡美穗
-红音
原千寻
熟女
轮奸
-朱琳
-朱毛
朱溶剂
猪聋畸
猪毛
@@ -1373,7 +1247,6 @@ A片
fa轮
亲日
汉奸
-政权
政治反对派
政治犯
支那
@@ -1392,9 +1265,7 @@ fa轮
周锋锁
周天法
陈水扁
-周旋
朱嘉明
-阿扁
二逼
小鸡鸡
卖逼
@@ -1436,7 +1307,6 @@ fa轮
喷你
操逼
淫水
-他妈
操比
杂种
他母亲
@@ -1499,13 +1369,11 @@ B样
北美自由论坛
博讯
蔡崇国
-程凯
大纪元新闻网
大众真人真事
东南西北论谈
封杀
-何勇
江猪媳
酱猪媳
枪支
-毒品
+毒品
\ No newline at end of file
diff --git a/config/harmonious_dictionary/harmonious.hash b/config/harmonious_dictionary/harmonious.hash
index 9ce3b2f93..456a8254b 100644
Binary files a/config/harmonious_dictionary/harmonious.hash and b/config/harmonious_dictionary/harmonious.hash differ
diff --git a/public/react/config/webpack.config.dev.js b/public/react/config/webpack.config.dev.js
index d1092894a..b3c1cea5b 100644
--- a/public/react/config/webpack.config.dev.js
+++ b/public/react/config/webpack.config.dev.js
@@ -30,7 +30,7 @@ const env = getClientEnvironment(publicUrl);
module.exports = {
// You may want 'eval' instead if you prefer to see the compiled output in DevTools.
// See the discussion in https://github.com/facebookincubator/create-react-app/issues/343.s
- //devtool: "cheap-module-eval-source-map",
+ //devtool: "cheap-module-eval-source-map",
// 开启调试
//devtool: "source-map", // 开启调试
// These are the "entry points" to our application.
diff --git a/public/react/public/css/edu-all.css b/public/react/public/css/edu-all.css
index 061cee521..1c3e635db 100644
--- a/public/react/public/css/edu-all.css
+++ b/public/react/public/css/edu-all.css
@@ -386,7 +386,7 @@ label.infolabel{display: block;float: left;width: 56px;text-align: right;margin-
.task-item{margin-top: 30px;padding-bottom: 30px;border-bottom: 1px solid #eee}
.task-item:last-child{border-bottom: none;}
.challengeNav a.active{color: #4CACFF;}
-.recomments{margin-bottom: 30px;padding-bottom:30px;margin-top: 30px;border-bottom: 1px solid #eee}
+.recomments{ margin-bottom: 20px;}
.recomments:first-child{margin-top: 0px;}
.recomments:last-child{margin-bottom: 0px;border:none;padding-bottom: 0px;}
.url-input{border: none;padding: 0px;font-size: 12px;color:#999;outline: none}
@@ -3474,10 +3474,7 @@ a.singlepublishtwo{
margin-bottom: 0 !important;
}
-/*.ant-notification{*/
- /*width: auto !important;*/
- /*max-width: 600px !important;*/
-/*}*/
+
.markdown-body {
@@ -3496,4 +3493,13 @@ a.singlepublishtwo{
.RightPaneDrawer .jupyter_data_list{
max-height: 340px;
+}
+
+.ant-btn-primary{
+ text-shadow: none !important;
+ box-shadow: none !important;
+}
+
+.ant-notification{
+ z-index: 10001 !important;
}
\ No newline at end of file
diff --git a/public/react/src/AppConfig.js b/public/react/src/AppConfig.js
index 177328dfa..d8f642db3 100644
--- a/public/react/src/AppConfig.js
+++ b/public/react/src/AppConfig.js
@@ -42,7 +42,7 @@ if (isDev) {
// 老师
//debugType="teacher";
// 学生
-//debugType="student";
+debugType="student";
function railsgettimes(proxy) {
@@ -149,15 +149,15 @@ export function initAxiosInterceptors(props) {
}
//
// console.log(config);
- // if (config.method === "post") {
- // if (requestMap[config.url] === true) { // 避免重复的请求 导致页面f5刷新 也会被阻止 显示这个方法会影响到定制信息
- // // console.log(config);
- // // console.log(JSON.parse(config));
- // // console.log(config.url);
- // // console.log("被阻止了是重复请求=================================");
- // return false;
- // }
- // }
+ if (config.method === "post") {
+ if (requestMap[config.url] === true) { // 避免重复的请求 导致页面f5刷新 也会被阻止 显示这个方法会影响到定制信息
+ // console.log(config);
+ // console.log(JSON.parse(config));
+ // console.log(config.url);
+ // console.log("被阻止了是重复请求=================================");
+ return false;
+ }
+ }
// 非file_update请求
if (config.url.indexOf('update_file') === -1) {
requestMap[config.url] = true;
diff --git a/public/react/src/common/quillForEditor/README.md b/public/react/src/common/quillForEditor/README.md
index 0369164c7..75b403590 100644
--- a/public/react/src/common/quillForEditor/README.md
+++ b/public/react/src/common/quillForEditor/README.md
@@ -4,7 +4,7 @@
* @Github:
* @Date: 2020-01-06 16:20:03
* @LastEditors : tangjiang
- * @LastEditTime : 2020-01-06 17:13:19
+ * @LastEditTime : 2020-01-09 09:45:29
-->
## QuillForEditor 使用 [https://quilljs.com/]
@@ -21,7 +21,7 @@
| autoFocus | 自动获得焦点 |
| options | 配置参数, 指定工具栏内容 |
| value | 文本编辑器内容 |
- | imgAttrs | 指定上传图片的尺寸 |
+ | imgAttrs | 指定上传图片的尺寸 { width: 'xxpx}, height: 'xxpx'|
| style | 指定quill容器样式 |
| wrapStyle | 指定包裹quill容器的样式|
| onContentChange | 当编辑器内容变化时调用此回调函数(注: 此时返回的内容为对象,提交到后台时需要格式成 JSON 字符串: JSON.stringify(xx)) |
diff --git a/public/react/src/common/quillForEditor/index.js b/public/react/src/common/quillForEditor/index.js
index 326ca21ae..2cded3fc3 100644
--- a/public/react/src/common/quillForEditor/index.js
+++ b/public/react/src/common/quillForEditor/index.js
@@ -4,7 +4,7 @@
* @Github:
* @Date: 2019-12-18 08:49:30
* @LastEditors : tangjiang
- * @LastEditTime : 2020-01-06 16:45:50
+ * @LastEditTime : 2020-01-09 11:01:51
*/
import './index.scss';
import 'quill/dist/quill.core.css'; // 核心样式
@@ -18,11 +18,12 @@ import deepEqual from './deepEqual.js'
import { fetchUploadImage } from '../../services/ojService.js';
import { getImageUrl } from 'educoder'
import ImageBlot from './ImageBlot';
+import { Modal } from 'antd';
// import Toolbar from 'quill/modules/toolbar';
import FillBlot from './FillBlot';
const Size = Quill.import('attributors/style/size');
const Font = Quill.import('formats/font');
-
+const { confirm } = Modal;
// const Color = Quill.import('attributes/style/color');
Size.whitelist = ['12px', '14px', '16px', '18px', '20px', false];
Font.whitelist = ['SimSun', 'SimHei','Microsoft-YaHei','KaiTi','FangSong','Arial','Times-New-Roman','sans-serif'];
@@ -36,6 +37,7 @@ Quill.register(Font, true);
Quill.register(FillBlot);
// Quill.register(Color);
+
function QuillForEditor ({
placeholder,
readOnly,
@@ -79,10 +81,44 @@ function QuillForEditor ({
const renderOptions = options || defaultConfig;
+ const bindings = {
+ tab: {
+ key: 9,
+ handler: function () {
+ console.log('调用了tab=====>>>>');
+ }
+ },
+ enter: {
+ key: 'Enter',
+ handler: function () {
+ console.log('enter====>>>>>>');
+ }
+ },
+ backspace: {
+ key: 'Backspace',
+ handler: function (range, context) {
+ console.log('调用了删除按钮', range, context);
+ // 1. 获取删除的文件
+ // 2. 判断删除的文件中包含空格的个数
+ // 3. 循环调用删除方法
+ const r = window.confirm('确定要删除吗?')
+ console.log('+++++', quill);
+ if (r) {
+ // 调用传入的删除事件
+ return true
+ } else {
+ return false;
+ }
+ }
+ }
+ };
// quill 配置信息
const quillOption = {
modules: {
- toolbar: renderOptions
+ toolbar: renderOptions,
+ keyboard: {
+ bindings: bindings
+ }
// toolbar: {
// container: renderOptions
// }
@@ -98,8 +134,14 @@ function QuillForEditor ({
const quillNode = document.createElement('div');
editorRef.current.appendChild(quillNode);
const _quill = new Quill(editorRef.current, quillOption);
- setQuill(_quill);
+ // _quill.keyboard.addBinding({
+ // key: 'tab'
+ // }, function (range, context) {
+ // console.log('点击了键盘的删除按钮: ', range, context);
+ // });
+
+ setQuill(_quill);
// 处理图片上传功能
_quill.getModule('toolbar').addHandler('image', (e) => {
const input = document.createElement('input');
@@ -142,6 +184,12 @@ function QuillForEditor ({
// 点击填空图标时,插入一个下划线
// 1. 获取编辑器内容
});
+
+ // TODO
+ /**
+ * 1.获取键盘删除事件
+ * 2.点击时获取删除的叶子节点 getLeaf(range.index)
+ */
}, []);
// 设置值
@@ -232,6 +280,7 @@ function QuillForEditor ({
}, [quill, handleOnChange]);
useEffect(() => {
+ if (!quill) return;
if (autoFocus) {
quill.focus();
}
diff --git a/public/react/src/modules/courses/boards/BoardsListItem.js b/public/react/src/modules/courses/boards/BoardsListItem.js
index 0df7675a3..78f3aec38 100644
--- a/public/react/src/modules/courses/boards/BoardsListItem.js
+++ b/public/react/src/modules/courses/boards/BoardsListItem.js
@@ -75,16 +75,21 @@ class BoardsListItem extends Component{
) : ""
}
+
- {(isAdmin || discussMessage.author.login == current_user.login) &&
- { this.props.toEditPage(this.props.match.params.coursesId, this.props.match.params.boardId, discussMessage.id )} }>编辑 }
- { isAdmin && { debugger; onSticky(discussMessage); e.cancelBubble = true; e.stopPropagation();}}>
- { discussMessage.sticky ? '取消置顶' : '置顶' } }
+ {(isAdmin || discussMessage.author.login == current_user.login) &&
+ { this.props.toEditPage(this.props.match.params.coursesId, this.props.match.params.boardId, discussMessage.id )} }>编辑 }
+
+ { isAdmin && { debugger; onSticky(discussMessage); e.cancelBubble = true; e.stopPropagation();}}>
+ { discussMessage.sticky ? '取消置顶' : '置顶' } }
+
+ {canNotLink?"": {} : () => this.onTitleClick(discussMessage)}>查看详情}
+
@@ -112,14 +117,14 @@ class BoardsListItem extends Component{
}
-
- {/* { (isAdmin || discussMessage.author.login == current_user.login) &&
+
+ {/* { (isAdmin || discussMessage.author.login == current_user.login) &&
-
- {(isAdmin || discussMessage.author.login == current_user.login) && - {
+ {(isAdmin || discussMessage.author.login == current_user.login) &&
- {
this.props.toEditPage(this.props.match.params.coursesId, this.props.match.params.boardId, discussMessage.id )} } >编辑
}
{isAdmin && - { debugger; onSticky(discussMessage); e.cancelBubble = true; e.stopPropagation();} }>
diff --git a/public/react/src/modules/courses/busyWork/CommonWorkItem.js b/public/react/src/modules/courses/busyWork/CommonWorkItem.js
index 82e2d2d96..244a03e17 100644
--- a/public/react/src/modules/courses/busyWork/CommonWorkItem.js
+++ b/public/react/src/modules/courses/busyWork/CommonWorkItem.js
@@ -216,6 +216,9 @@ class CommonWorkItem extends Component{
{/* item.status.indexOf('匿评申诉中') != -1 ? '匿评申诉剩余时间' : ''}>*/}
{/**/}
{isAdmin &&
+ {} : () => this.onItemClick(item)}
+ >查看详情
{ this.props.toEditPage(this.props.match.params, item.homework_id) }}>编辑
{ this.props.toWorkSettingPage(this.props.match.params, item.homework_id) }}>设置
}
@@ -224,17 +227,21 @@ class CommonWorkItem extends Component{
//
isStudent &&
-
+ {} : () => this.onItemClick(item)}
+ >查看详情
+
{ //
item.work_status && item.work_status.indexOf('关联项目') != -1 &&
- this.props.toCreateProject(item)}>创建项目
+ this.props.toCreateProject(item)}>创建项目
this.props.openConnectionProject(item)}>关联项目
}
{ //
item.work_status && item.work_status.indexOf('取消关联') != -1 &&
- this.props.cancelConnectionProject(item)}>取消关联
+ this.props.cancelConnectionProject(item)}>取消关联
}
{ //
item.work_status && item.work_status.indexOf('提交作品') != -1 &&
@@ -273,6 +280,8 @@ class CommonWorkItem extends Component{
//
item.work_status && item.work_status.indexOf('查看作品') != -1 &&
this.props.toWorkDetailPage(this.props.match.params, item.homework_id, item.work_id)}>查看作品 }
+
+
}
diff --git a/public/react/src/modules/courses/busyWork/CommonWorkPost.js b/public/react/src/modules/courses/busyWork/CommonWorkPost.js
index 5e01b21a1..f92aa9a91 100644
--- a/public/react/src/modules/courses/busyWork/CommonWorkPost.js
+++ b/public/react/src/modules/courses/busyWork/CommonWorkPost.js
@@ -68,6 +68,7 @@ class CommonWorkPost extends Component{
uid: item.id,
name: appendFileSizeToUploadFile(item),
url: item.url,
+ delete: item.delete,
status: 'done'
}
})
@@ -160,7 +161,7 @@ class CommonWorkPost extends Component{
}
e.preventDefault();
if( true ){
- this.props.form.validateFields((err, values) => {
+ this.props.form.validateFieldsAndScroll((err, values) => {
if (!err) {
console.log(values.description);
// console.log(fileList);
@@ -320,19 +321,23 @@ class CommonWorkPost extends Component{
// ModalSave: ()=>this.deleteAttachment(file),
// ModalCancel:this.cancelAttachment
// })
-
- if(!file.percent || file.percent == 100){
- this.props.confirm({
- content: '是否确认删除?',
- onOk: () => {
- this.deleteAttachment(file)
- },
- onCancel() {
- console.log('Cancel');
- },
- });
- return false;
- }
+ if (file.delete === false) {
+ this.props.showNotification(`该作品已被评阅,不能删除该附件`);
+ return false
+ } else {
+ if (!file.percent || file.percent == 100) {
+ this.props.confirm({
+ content: '是否确认删除?',
+ onOk: () => {
+ this.deleteAttachment(file)
+ },
+ onCancel() {
+ console.log('Cancel');
+ },
+ });
+ return false;
+ }
+ }
}
cancelAttachment=()=>{
diff --git a/public/react/src/modules/courses/busyWork/UseBank.js b/public/react/src/modules/courses/busyWork/UseBank.js
index f72b71990..6c98695ba 100644
--- a/public/react/src/modules/courses/busyWork/UseBank.js
+++ b/public/react/src/modules/courses/busyWork/UseBank.js
@@ -35,8 +35,8 @@ class UseBank extends Component{
}
}
componentDidMount() {
- console.log("UseBank");
- console.log(this.props);
+ // console.log("UseBank");
+ // console.log(this.props);
}
onCheckBoxChange = (checkBoxValues) => {
@@ -190,9 +190,9 @@ class UseBank extends Component{
let { flag, nav_my, loading, hasMore, object_list, search, checkBoxValues,isChecked,page,is_teacher }=this.state
let { object_type }=this.props;
const antIcon = ;
- console.log("题库选用2222");
- console.log("UseBank");
- console.log(this.props);
+ // console.log("题库选用2222");
+ // console.log("UseBank");
+ // console.log(this.props);
return(
:""
}
{
this.props.isStudent? this.hrefjumpskip(`/courses/${this.props.match.params.coursesId}/${this.state.shixuntypes}/${discussMessage.homework_id}/list?tab=0`)}
title={discussMessage.name}
- className="fl mt3 font-16 font-bd color-dark maxwidth422">{discussMessage.name}:""
+ className="fl mt3 font-16 font-bd color-dark maxwidth333">{discussMessage.name} :""
}
{
this.props.isNotMember===true? this.props.discussMessage.private_icon===true?
- {discussMessage.name}
+ {discussMessage.name}
: this.hrefjumpskip(`/courses/${this.props.match.params.coursesId}/${this.state.shixuntypes}/${discussMessage.homework_id}/list?tab=0`)}
title={discussMessage.name}
- className="fl mt3 font-16 font-bd color-dark maxwidth422">{discussMessage.name}:""
+ className="fl mt3 font-16 font-bd color-dark maxwidth333">{discussMessage.name}:""
}
@@ -349,30 +349,44 @@ class ShixunhomeWorkItem extends Component{
- {this.props.isAdmin?this.stopPro(event)} className={this.props.isAdminOrCreator()?"homepagePostSetting homepagePostSettingname":"homepagePostSetting homepagePostSettingbox"} style={{"right":"-2px","top":"6px","display":"block"}}>
- {discussMessage&&discussMessage.shixun_status>1?实训详情:
- 实训详情}
- {this.props.isAdminOrCreator()?this.editname(discussMessage.name,discussMessage.homework_id,event)} className={"btn colorblue ml20 font-16 fontweight400"}>重命名:""}
+
+
+ {/*to={`/courses/${this.props.match.params.coursesId}/${discussMessage.homework_id}/jobsettings`}*/}
+
+
+
+
+ {this.props.isAdmin?this.stopPro(event)} className={discussMessage&&discussMessage.shixun_status>1?this.props.isAdminOrCreator()?" newhomepagePostSettingname fr":" homepagePostSettingbox fr":" newwidthSettin fr"} style={{"right":"-2px","top":"6px","display":"block"}}>
+ {discussMessage&&discussMessage.shixun_status>1?实训详情:
+ 实训详情
+ }
+
+
+ {this.props.isAdminOrCreator()?this.editname(discussMessage.name,discussMessage.homework_id,event)} className={"btn colorblue font-16 fontweight400 "}>重命名:""}
{/* 设置*/}
- 设置
+ 设置
:""}
{this.props.isStudent===true?this.props.course_identity===5?discussMessage&&discussMessage.shixun_status>1?
discussMessage.time_status<5?
-
+
{startbtn===false?
(discussMessage.task_operation[0] == '继续挑战' || discussMessage.task_operation[0] == '查看实战' ?
@@ -385,6 +399,18 @@ class ShixunhomeWorkItem extends Component{
:"":"":"":""
}
+ { this.props.isAdmin?this.hrefjumpskip("/courses/"+this.props.match.params.coursesId+"/"+this.state.shixuntypes+"/"+discussMessage.homework_id+"/list?tab=0")} className="btn colorblue font-16 fontweight400 mr20 fr">查看详情:""}
+
+ {
+ this.props.isStudent? this.hrefjumpskip("/courses/"+this.props.match.params.coursesId+"/"+this.state.shixuntypes+"/"+discussMessage.homework_id+"/list?tab=0")} className="btn colorblue font-16 fontweight400 mr20 fr mt2">查看详情:""
+ }
+
+ {
+ this.props.isNotMember===true? this.props.discussMessage.private_icon===true?""
+ :this.hrefjumpskip("/courses/"+this.props.match.params.coursesId+"/"+this.state.shixuntypes+"/"+discussMessage.homework_id+"/list?tab=0")} className="btn colorblue font-16 fontweight400 mr20 fr">查看详情:""
+ }
+
+
diff --git a/public/react/src/modules/courses/shixunHomework/Trainingjobsetting.js b/public/react/src/modules/courses/shixunHomework/Trainingjobsetting.js
index 030e2cde7..97ac1a3ea 100644
--- a/public/react/src/modules/courses/shixunHomework/Trainingjobsetting.js
+++ b/public/react/src/modules/courses/shixunHomework/Trainingjobsetting.js
@@ -422,6 +422,7 @@ class Trainingjobsetting extends Component {
if (this.state.jobsettingsdata.data.unified_setting === true) {
if (this.state.unifiedsetting === true) {
+ //统一设置
if (this.state.releasetime === undefined || this.state.releasetime === null || this.state.releasetime === "") {
// this.props.showNotification(`请选择发布时间`);
@@ -544,13 +545,24 @@ class Trainingjobsetting extends Component {
}
} else {
+ //分班设置
+ // console.log("分班设置");
+ // console.log(this.$pollDetailTabForthRules);
+
+ const result=this.$pollDetailTabForthRules.notUnifiedSettingCheck(this.state.rules);
+ this.setState({
+ rules: result.rules
+ })
+
+ if(result.validate==false){
+ this.scrollToAnchor("publishtimeid");
+ return false;
+ }
let rulesdata = this.state.rulesdata;
- if (
- rulesdata.length === 0) {
+ if (rulesdata.length === 0) {
this.props.showNotification(`分班发布设置不能为空`);
return;
}
- //
}
}
@@ -1656,7 +1668,7 @@ class Trainingjobsetting extends Component {
if (unifiedsetting === true) {
if (moment(value, "YYYY-MM-DD HH:mm") <= moment(publish_time)) {
this.setState({
- hand__e_tip: "补交时间不能早于发布时间",
+ hand__e_tip: "补交结束时间不能早于发布时间",
hand_flags: true,
handclass: "bor-reds",
late_times: value.format('YYYY-MM-DD HH:mm'),
@@ -1664,7 +1676,7 @@ class Trainingjobsetting extends Component {
})
} else if (moment(value, "YYYY-MM-DD HH:mm") <= moment(end_time)) {
this.setState({
- hand__e_tip: "补交时间不能早于截止时间",
+ hand__e_tip: "补交结束时间不能早于截止时间",
hand_flags: true,
handclass: "bor-reds",
late_times: value.format('YYYY-MM-DD HH:mm'),
@@ -2396,7 +2408,7 @@ class Trainingjobsetting extends Component {
modalSave={modalSave}
>
-
+
{
!flagPageEdit && this.props.isAdmin() === true ?
""
@@ -2454,7 +2466,7 @@ class Trainingjobsetting extends Component {
{
unifiedsetting === undefined ? "" : unifiedsetting === true ?
-
+
发布时间:
{
+ this.$pollDetailTabForthRules = dom;
+ }}
teacherdatapage={this.props.teacherdatapage}
rules={rules}
moduleName={"作业"}
diff --git a/public/react/src/modules/developer/newOrEditTask/leftpane/editorTab/index.js b/public/react/src/modules/developer/newOrEditTask/leftpane/editorTab/index.js
index 395809901..4784b553a 100644
--- a/public/react/src/modules/developer/newOrEditTask/leftpane/editorTab/index.js
+++ b/public/react/src/modules/developer/newOrEditTask/leftpane/editorTab/index.js
@@ -4,7 +4,7 @@
* @Github:
* @Date: 2019-11-20 10:35:40
* @LastEditors : tangjiang
- * @LastEditTime : 2020-01-07 15:29:18
+ * @LastEditTime : 2020-01-09 11:04:44
*/
import './index.scss';
// import 'katex/dist/katex.css';
@@ -291,6 +291,7 @@ class EditTab extends React.Component {
// {font: []},
'image', 'formula', // 数学公式、图片、视频
'clean', // 清除格式
+ // 'fill',
];
const renderCourseQuestion = (arrs) => {
@@ -452,6 +453,7 @@ class EditTab extends React.Component {
colon={ false }
>
{
- console.log(response);
+
const newMemo = Object.assign({}, this.props.memo)
newMemo.praise_count = response.data.praise_count
newMemo.user_praise = !newMemo.user_praise
@@ -309,7 +309,7 @@ class MemoDetail extends Component {
memo: newMemo2
})
}
- console.log(response)
+
}).catch((error) => {
console.log(error)
})
@@ -352,7 +352,7 @@ class MemoDetail extends Component {
memo: newMemo
})
}
- console.log(response)
+
}).catch((error) => {
console.log(error)
})
@@ -382,7 +382,7 @@ class MemoDetail extends Component {
comments
})
}
- console.log(response)
+
}).catch((error) => {
console.log(error)
})
@@ -471,7 +471,7 @@ class MemoDetail extends Component {
}
// {"message":"Couldn't find Discuss with id=911","status":-1}
- console.log(response)
+
}).catch((error) => {
console.log(error)
})
@@ -546,7 +546,7 @@ class MemoDetail extends Component {
this.props.initForumState({
memo: newMemo2
})
- console.log(response)
+
}
}).catch((error) => {
console.log(error)
diff --git a/public/react/src/modules/forums/MemoDetailMDEditor.js b/public/react/src/modules/forums/MemoDetailMDEditor.js
index fb89f5bca..f00b4aeae 100644
--- a/public/react/src/modules/forums/MemoDetailMDEditor.js
+++ b/public/react/src/modules/forums/MemoDetailMDEditor.js
@@ -57,7 +57,7 @@ class MemoDetailMDEditor extends Component {
errorMsg: ''
})
})
- commentMDEditor.cm.focus()
+ // commentMDEditor.cm.focus()
}, {
watch: false,
dialogLockScreen: false,
diff --git a/public/react/src/modules/login/EducoderInteresse.js b/public/react/src/modules/login/EducoderInteresse.js
index 75f2c7059..5f62153c3 100644
--- a/public/react/src/modules/login/EducoderInteresse.js
+++ b/public/react/src/modules/login/EducoderInteresse.js
@@ -6,6 +6,8 @@ import beijintulogontwo from '../../../src/images/login/beijintulogontwo.png';
import educodernet from '../../../src/images/login/educodernet.png';
import InterestpageComponent from '../user/Interestpage'
import InterestpageComponentMax from '../user/InterestpageMax'
+import moment from 'moment';
+
//educoder登入页面
var newContainer={
@@ -78,7 +80,7 @@ class EducoderInteresse extends Component {
justifyContent: "center",
width: "100%",
}}>
- © 2019 EduCoder
湘ICP备17009477号Trustie & IntelliDE inside.
+ © {moment().year()} EduCoder
湘ICP备17009477号Trustie & IntelliDE inside.
diff --git a/public/react/src/modules/login/EducoderLogin.js b/public/react/src/modules/login/EducoderLogin.js
index 123b2f2a0..5663c69c8 100644
--- a/public/react/src/modules/login/EducoderLogin.js
+++ b/public/react/src/modules/login/EducoderLogin.js
@@ -1,26 +1,6 @@
import React, {Component} from "react";
-import {
- Form,
- Select,
- Input,
- Button,
- Checkbox,
- Upload,
- Icon,
- message,
- Modal,
- Table,
- Divider,
- InputNumber,
- Tag,
- DatePicker,
- Radio,
- Tooltip,
- notification
-} from "antd";
-import {Link, Switch, Route, Redirect} from 'react-router-dom';
+import moment from 'moment';
import { SnackbarHOC,getImageUrl } from 'educoder';
-import { TPMIndexHOC } from '../tpm/TPMIndexHOC';
import '../courses/css/members.css';
import "../courses/common/formCommon.css"
import '../courses/css/Courses.css';
@@ -201,21 +181,21 @@ class EducoderLogin extends Component {
justifyContent: "center",
width: "100%",
}}>
-
© 2019 EduCoder
湘ICP备17009477号Trustie & IntelliDE inside.
+
© {moment().year()} EduCoder
湘ICP备17009477号Trustie & IntelliDE inside.
:
this.props.mygetHelmetapi===undefined||this.props.mygetHelmetapi.main_site===null|| this.props.mygetHelmetapi.main_site===undefined?
-
© 2019 EduCoder
湘ICP备17009477号Trustie & IntelliDE inside.
+
© {moment().year()} EduCoder
湘ICP备17009477号Trustie & IntelliDE inside.
:this.props.mygetHelmetapi.main_site===true?
-
© 2019 EduCoder
湘ICP备17009477号Trustie & IntelliDE inside.
+
© {moment().year()} EduCoder
湘ICP备17009477号Trustie & IntelliDE inside.
:""
}
diff --git a/public/react/src/modules/login/Otherlogin.js b/public/react/src/modules/login/Otherlogin.js
index 59710ab2f..75874ee18 100644
--- a/public/react/src/modules/login/Otherlogin.js
+++ b/public/react/src/modules/login/Otherlogin.js
@@ -1,33 +1,18 @@
import React, {Component} from "react";
import {
- Form,
- Select,
Input,
Button,
- Checkbox,
- Upload,
- Icon,
- message,
- Modal,
- Table,
Divider,
- InputNumber,
- Tag,
- DatePicker,
- Radio,
- Tooltip,
- notification,
Layout,
Spin
} from "antd";
import axios from 'axios';
+import moment from 'moment';
import { getImageUrl } from 'educoder'
-import {Link, Switch, Route, Redirect} from 'react-router-dom';
import '../courses/css/members.css';
import "../courses/common/formCommon.css"
import '../courses/css/Courses.css';
import beijintulogontwo from '../../../src/images/login/beijintulogontwo.png';
-import educodernet from '../../../src/images/login/educodernet.png';
const { Header, Footer, Sider, Content } = Layout;
//educoder登入页面
var sectionStyle = {
@@ -294,7 +279,7 @@ class Otherlogin extends Component {
justifyContent: "center",
width: "100%",
}}>
-
© 2019 EduCoder
湘ICP备17009477号Trustie & IntelliDE inside.
+
© {moment().year()} EduCoder
湘ICP备17009477号Trustie & IntelliDE inside.
diff --git a/public/react/src/modules/page/Index.js b/public/react/src/modules/page/Index.js
index aa395e5cf..1e31449c6 100644
--- a/public/react/src/modules/page/Index.js
+++ b/public/react/src/modules/page/Index.js
@@ -104,7 +104,6 @@ class Index extends Component {
// withCredentials: true,
})
.then((response) => {
- console.log(response);
if (response.data.status == -1) {
console.error('获取任务列表失败!')
@@ -146,7 +145,7 @@ class Index extends Component {
// }
)
.then((response) => {
- console.log(response);
+
// {"reward_code":86} TODO 金币数量变化
if (response.data.reward_code === -1) {
this.props.showSnackbar('该任务已评过星了!')
diff --git a/public/react/src/modules/projectPackages/PackageIndexNewandEdit/PackageIndexNEIBannerConcent.js b/public/react/src/modules/projectPackages/PackageIndexNewandEdit/PackageIndexNEIBannerConcent.js
index ae4983b33..ac82e9ca0 100644
--- a/public/react/src/modules/projectPackages/PackageIndexNewandEdit/PackageIndexNEIBannerConcent.js
+++ b/public/react/src/modules/projectPackages/PackageIndexNewandEdit/PackageIndexNEIBannerConcent.js
@@ -80,7 +80,7 @@ class PackageIndexNEIBannerConcent extends Component {
let url=`/project_packages/${this.props.match.params.id}.json`
axios.get((url)).then((response) => {
- console.log(response)
+
let data=response.data
this.setState({
category:data.category_id,
diff --git a/public/react/src/modules/tpm/NewFooter.js b/public/react/src/modules/tpm/NewFooter.js
index 1b4ed2c00..9a69d522b 100644
--- a/public/react/src/modules/tpm/NewFooter.js
+++ b/public/react/src/modules/tpm/NewFooter.js
@@ -1,8 +1,7 @@
import React, { Component } from 'react';
-import { Redirect } from 'react-router';
+import moment from 'moment';
import { Link } from 'react-router-dom';
-import { getImageUrl, toPath } from 'educoder'
-import PropTypes from 'prop-types';
+
class NewFooter extends Component {
constructor(props) {
@@ -58,7 +57,7 @@ class NewFooter extends Component {
{this.props.mygetHelmetapi === null ? "" :
this.props.mygetHelmetapi===undefined|| this.props.mygetHelmetapi.footer===null||this.props.mygetHelmetapi.footer===undefined?
- © 2019 EduCoder
+ © {moment().year()} EduCoder
湘ICP备17009477号
湘公网安备43019002000962号
diff --git a/public/react/src/modules/tpm/challengesnew/TPMchallengesnew.js b/public/react/src/modules/tpm/challengesnew/TPMchallengesnew.js
index 70fb5d306..b0deafd95 100644
--- a/public/react/src/modules/tpm/challengesnew/TPMchallengesnew.js
+++ b/public/react/src/modules/tpm/challengesnew/TPMchallengesnew.js
@@ -719,7 +719,7 @@ export default class TPMchallengesnew extends Component {
shixunsskillvaluelist===undefined?"":shixunsskillvaluelist.length === 0 ? "" : shixunsskillvaluelist.map((itme, key) => {
return (
- this.delshixunsskilllist(key)}>
+ this.delshixunsskilllist(key)}>
diff --git a/public/react/src/modules/tpm/component/TPMRightSection.js b/public/react/src/modules/tpm/component/TPMRightSection.js
index 70bec797a..e6dc1da98 100644
--- a/public/react/src/modules/tpm/component/TPMRightSection.js
+++ b/public/react/src/modules/tpm/component/TPMRightSection.js
@@ -67,6 +67,18 @@ class TPMRightSection extends Component {
return (
+
{
TPMRightSectionData === undefined ? "" :
@@ -86,7 +98,7 @@ class TPMRightSection extends Component {
{TPMRightSectionData === undefined ? "" : TPMRightSectionData.creator === undefined ? "" : TPMRightSectionData.creator.name}
- 共发布实训 {TPMRightSectionData.user_shixuns_count} 个
+ 共发布实训 {TPMRightSectionData.user_shixuns_count} 个
{/**/}
@@ -103,7 +115,7 @@ class TPMRightSection extends Component {
学习统计
- 已完成 {TPMRightSectionData&&TPMRightSectionData.complete_count===null?0:TPMRightSectionData&&TPMRightSectionData.complete_count} 个 / 共 {TPMRightSectionData&&TPMRightSectionData.challenge_count} 关
+ 已完成 {TPMRightSectionData&&TPMRightSectionData.complete_count===null?0:TPMRightSectionData&&TPMRightSectionData.complete_count} 个 / 共 {TPMRightSectionData&&TPMRightSectionData.challenge_count} 关
@@ -119,7 +131,7 @@ class TPMRightSection extends Component {
技能标签
- 已获得 {TPMRightSectionData&&TPMRightSectionData.user_tag_count} 个 / 共 {TPMRightSectionData&&TPMRightSectionData.tag_count} 个
+ 已获得 {TPMRightSectionData&&TPMRightSectionData.user_tag_count} 个 / 共 {TPMRightSectionData&&TPMRightSectionData.tag_count} 个
@@ -180,7 +192,8 @@ class TPMRightSection extends Component {
-
+
+
@@ -232,7 +245,7 @@ class TPMRightSection extends Component {
return (
-
+
@@ -240,9 +253,10 @@ class TPMRightSection extends Component {
className="color-grey-6 task-hide mb12 recomment-name">{item.name}
- {item.stu_num} 人学习
+ {item.stu_num} 人学习
+ {item.level}
-
{item.level}
+
)
diff --git a/public/react/src/modules/tpm/shixunchild/Challenges/Challenges.js b/public/react/src/modules/tpm/shixunchild/Challenges/Challenges.js
index d84817fe8..0e701c00c 100644
--- a/public/react/src/modules/tpm/shixunchild/Challenges/Challenges.js
+++ b/public/react/src/modules/tpm/shixunchild/Challenges/Challenges.js
@@ -498,7 +498,18 @@ class Challenges extends Component {
}
-
+
{this.state.isopentitletype==="Less"?"":this.state.opentitletype===true?
this.opentitle()} className={"pointer Breadcrumbfont color-grey-9 "}>
阅读全文
:
this.opentitle()} className={"pointer Breadcrumbfont color-grey-9 "}>
@@ -508,9 +519,9 @@ class Challenges extends Component {
-
+
全部任务
-
+
{/* */}
{/**/}
@@ -718,7 +729,7 @@ class Challenges extends Component {
{
`
.task-colspan {
- min-width: 20% !important;
+ min-width: 18% !important;
}
`
}
diff --git a/public/react/src/modules/tpm/shixunchild/Challenges/Challengesjupyter.js b/public/react/src/modules/tpm/shixunchild/Challenges/Challengesjupyter.js
index 3f2aa68a9..c76530d00 100644
--- a/public/react/src/modules/tpm/shixunchild/Challenges/Challengesjupyter.js
+++ b/public/react/src/modules/tpm/shixunchild/Challenges/Challengesjupyter.js
@@ -623,7 +623,18 @@ class Challengesjupyter extends Component {
-
+
{this.state.isopentitletype==="Less"?"":this.state.opentitletype===true?
this.opentitle()} className={"pointer Breadcrumbfont color-grey-9 "}>
阅读全文
:
this.opentitle()} className={"pointer Breadcrumbfont color-grey-9 "}>
diff --git a/public/react/src/modules/tpm/shixunchild/shixunchildCss/Challenges.css b/public/react/src/modules/tpm/shixunchild/shixunchildCss/Challenges.css
index 652f77201..abfafc46a 100644
--- a/public/react/src/modules/tpm/shixunchild/shixunchildCss/Challenges.css
+++ b/public/react/src/modules/tpm/shixunchild/shixunchildCss/Challenges.css
@@ -258,4 +258,8 @@
.Countdownfonttpm .ant-statistic-content-value{
font-size: 14px;
+}
+
+.boreee{
+ border-bottom: 1px solid #F4F4F4;
}
\ No newline at end of file
diff --git a/public/react/src/modules/user/usersInfo/banks/banksMenu.js b/public/react/src/modules/user/usersInfo/banks/banksMenu.js
index aa2491ae8..571af8b64 100644
--- a/public/react/src/modules/user/usersInfo/banks/banksMenu.js
+++ b/public/react/src/modules/user/usersInfo/banks/banksMenu.js
@@ -92,7 +92,7 @@ class BanksMenu extends Component{
object_type:type
}})
.then((response) => {
- console.log(response);
+
if(response){
if(response.data){
if(response.data.status===0){
diff --git a/public/stylesheets/educoder/edu-all.css b/public/stylesheets/educoder/edu-all.css
index b596b6c15..529ab871e 100644
--- a/public/stylesheets/educoder/edu-all.css
+++ b/public/stylesheets/educoder/edu-all.css
@@ -390,7 +390,7 @@ label.infolabel{display: block;float: left;width: 56px;text-align: right;margin-
.task-item{margin-top: 30px;padding-bottom: 30px;border-bottom: 1px solid #eee}
.task-item:last-child{border-bottom: none;}
.challengeNav a.active{color: #4CACFF;}
-.recomments{margin-bottom: 30px;padding-bottom:30px;margin-top: 30px;border-bottom: 1px solid #eee}
+.recomments{ margin-bottom: 20px;}
.recomments:first-child{margin-top: 0px;}
.recomments:last-child{margin-bottom: 0px;border:none;padding-bottom: 0px;}
.url-input{border: none;padding: 0px;font-size: 12px;color:#999;outline: none}
@@ -3784,10 +3784,7 @@ a.singlepublishtwo{
.has-error .ant-input:focus{
border-color: #ff4d4f !important;
}
-/*.ant-notification{*/
- /*width: auto !important;*/
- /*max-width: 600px !important;*/
-/*}*/
+
.fontweight400{
font-weight: 400 !important;
}
@@ -3800,6 +3797,10 @@ a.singlepublishtwo{
z-index: 10000 !important;
}
+.ant-notification{
+ z-index: 10001 !important;
+}
+
.markdown-body {
text-align: justify;
word-break: break-all;
@@ -3816,4 +3817,9 @@ a.singlepublishtwo{
.RightPaneDrawer .jupyter_data_list{
max-height: 340px;
- }
\ No newline at end of file
+ }
+
+.ant-btn-primary{
+ text-shadow: none !important;
+ box-shadow: none !important;
+}