1
This commit is contained in:
parent
a1bfc19c93
commit
e5625fef73
103
web/src/x.min.js
vendored
103
web/src/x.min.js
vendored
@ -829,8 +829,13 @@ var X = window.X || {
|
|||||||
var legendnamearr = [];
|
var legendnamearr = [];
|
||||||
for(let i in data){
|
for(let i in data){
|
||||||
legendnamearr.push(data[i]['event_name'])
|
legendnamearr.push(data[i]['event_name'])
|
||||||
for(let z in data[i]['groups']){
|
if(data[i]['groups'].length > 0){
|
||||||
var pj = data[i]['event_name']+data[i]['groups'][z];
|
for(let z in data[i]['groups']){
|
||||||
|
var pj = data[i]['event_name']+data[i]['groups'][z];
|
||||||
|
legenddata.push(pj);
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
var pj = data[i]['event_name'];
|
||||||
legenddata.push(pj);
|
legenddata.push(pj);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -894,7 +899,7 @@ var X = window.X || {
|
|||||||
chain_ratiotype = '-'
|
chain_ratiotype = '-'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
console.log(legendnamearr);
|
|
||||||
var dataArr = {
|
var dataArr = {
|
||||||
xAxisData:data[0]['date_range'],
|
xAxisData:data[0]['date_range'],
|
||||||
legenddata:legenddata,
|
legenddata:legenddata,
|
||||||
@ -910,7 +915,7 @@ var X = window.X || {
|
|||||||
chain_ratio: Math.abs(data[0]['chain_ratio']),//同比
|
chain_ratio: Math.abs(data[0]['chain_ratio']),//同比
|
||||||
chain_ratiotype:chain_ratiotype
|
chain_ratiotype:chain_ratiotype
|
||||||
}
|
}
|
||||||
|
console.log(dataArr);
|
||||||
callback && callback(dataArr);
|
callback && callback(dataArr);
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -1059,19 +1064,26 @@ var X = window.X || {
|
|||||||
var arr = []
|
var arr = []
|
||||||
for(let i in d['summary_values']){
|
for(let i in d['summary_values']){
|
||||||
var index = d['summary_values'][i][pname].length - 1;
|
var index = d['summary_values'][i][pname].length - 1;
|
||||||
arr.push(d['summary_values'][i][pname][index]);
|
legenddata.push(i);
|
||||||
xAxisData.push(i);
|
arr.push(d['summary_values'][i][pname]);
|
||||||
}
|
|
||||||
|
|
||||||
seriesData = {
|
|
||||||
type: 'line',
|
|
||||||
data: arr
|
|
||||||
}
|
}
|
||||||
|
d.title.splice(0,1);
|
||||||
|
xAxisData = d.title;
|
||||||
for(let i in arr){
|
for(let i in arr){
|
||||||
sum = sum + arr[i];
|
var drr = {
|
||||||
sameday = arr[i];
|
name: d.date_range[i],
|
||||||
|
type: 'line',
|
||||||
|
data: arr[i]
|
||||||
|
}
|
||||||
|
seriesData.push(drr);
|
||||||
}
|
}
|
||||||
mean = (sum / arr.length).toFixed(2);
|
// for(let i in arr){
|
||||||
|
// if(arr[i] != "-"){
|
||||||
|
// sum = sum + 0;
|
||||||
|
// }
|
||||||
|
// sameday = arr[i];
|
||||||
|
// }
|
||||||
|
// mean = (sum / arr.length).toFixed(2);
|
||||||
|
|
||||||
}else {
|
}else {
|
||||||
var timearr = [];
|
var timearr = [];
|
||||||
@ -1128,20 +1140,31 @@ var X = window.X || {
|
|||||||
chain_ratiotype = '-'
|
chain_ratiotype = '-'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var selected = {};//线多的话默认显示5条
|
||||||
|
if(legenddata.length > 5){
|
||||||
|
for(let i in legenddata){
|
||||||
|
if(i < 5){
|
||||||
|
selected[legenddata[i]] = true;
|
||||||
|
}else {
|
||||||
|
selected[legenddata[i]] = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
var dataArr = {
|
var dataArr = {
|
||||||
xAxisData:xAxisData,
|
xAxisData:xAxisData,
|
||||||
legenddata:legenddata,
|
legenddata:legenddata,
|
||||||
seriesData:seriesData,
|
seriesData:seriesData,
|
||||||
|
selected:selected,
|
||||||
date:date,
|
date:date,
|
||||||
sum:sum.toFixed(2),
|
sum:sum.toFixed(2),
|
||||||
mean:mean,
|
mean:mean,
|
||||||
sameday: sameday,
|
sameday: 0,
|
||||||
wowtype:wowtype,
|
wowtype:wowtype,
|
||||||
chain_ratiotype:chain_ratiotype,
|
chain_ratiotype:chain_ratiotype,
|
||||||
retentiontype:d.retentiontype
|
retentiontype:d.retentiontype
|
||||||
}
|
}
|
||||||
// console.log(dataArr);
|
|
||||||
callback && callback(dataArr);
|
callback && callback(dataArr);
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -3608,7 +3631,7 @@ var X = window.X || {
|
|||||||
data['eventView']['endTime'] = timearr[2]+" "+"23:59:59";
|
data['eventView']['endTime'] = timearr[2]+" "+"23:59:59";
|
||||||
baobiaodata = d;
|
baobiaodata = d;
|
||||||
|
|
||||||
if(d.query.eventView.filts.length > 0){
|
if(d.query.events.length > 0){
|
||||||
$(".analysis-overall").show();
|
$(".analysis-overall").show();
|
||||||
}else {
|
}else {
|
||||||
$(".analysis-overall").hide();
|
$(".analysis-overall").hide();
|
||||||
@ -6587,7 +6610,7 @@ var X = window.X || {
|
|||||||
//数据根据时间降序排列
|
//数据根据时间降序排列
|
||||||
if(d['ascending']){
|
if(d['ascending']){
|
||||||
// console.log()
|
// console.log()
|
||||||
console.log(eventdata);
|
// console.log(eventdata);
|
||||||
var condatalength = eventdata[0]['condata'].length;
|
var condatalength = eventdata[0]['condata'].length;
|
||||||
var condataascend=[];
|
var condataascend=[];
|
||||||
for(var i = condatalength - 1; i >= 0; i--){
|
for(var i = condatalength - 1; i >= 0; i--){
|
||||||
@ -6886,6 +6909,7 @@ var X = window.X || {
|
|||||||
var myChart = echarts.init(document.getElementById(eventdata['id']));
|
var myChart = echarts.init(document.getElementById(eventdata['id']));
|
||||||
if(eventdata['cat'] == 'user_property'){
|
if(eventdata['cat'] == 'user_property'){
|
||||||
var option = {
|
var option = {
|
||||||
|
color: X.DATA.echartscolor,
|
||||||
tooltip: {
|
tooltip: {
|
||||||
trigger: 'axis',
|
trigger: 'axis',
|
||||||
axisPointer: {
|
axisPointer: {
|
||||||
@ -9894,9 +9918,9 @@ var X = window.X || {
|
|||||||
var userarr;
|
var userarr;
|
||||||
var adduadaserarr;
|
var adduadaserarr;
|
||||||
|
|
||||||
var userinfo = X.DATA.userinfo;
|
// var userinfo = X.DATA.userinfo;
|
||||||
$(".gly-firs").html(userinfo.name.substring(0,1));
|
// $(".gly-firs").html(userinfo.name.substring(0,1));
|
||||||
$(".gly-name").html(userinfo.name);
|
// $(".gly-name").html(userinfo.name);
|
||||||
|
|
||||||
if(id){
|
if(id){
|
||||||
$(".editkongjian").show();
|
$(".editkongjian").show();
|
||||||
@ -9913,6 +9937,10 @@ var X = window.X || {
|
|||||||
d[i]["firs"] = d[i]['name'].substring(0,1);
|
d[i]["firs"] = d[i]['name'].substring(0,1);
|
||||||
d[i]["authority"] = "r";
|
d[i]["authority"] = "r";
|
||||||
d[i]['user_id'] = d[i]['_id']
|
d[i]['user_id'] = d[i]['_id']
|
||||||
|
if(d[i].is_superuser){
|
||||||
|
$(".gly-firs").html(d[i].name.substring(0,1));
|
||||||
|
$(".gly-name").html(d[i].name);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
for(let i in adduadaserarr){
|
for(let i in adduadaserarr){
|
||||||
for(let j in d){
|
for(let j in d){
|
||||||
@ -10554,7 +10582,7 @@ var X = window.X || {
|
|||||||
this.parms = parms;
|
this.parms = parms;
|
||||||
this.callback = parms.callback;
|
this.callback = parms.callback;
|
||||||
var data = parms;
|
var data = parms;
|
||||||
console.log(data);
|
// console.log(data);
|
||||||
X.laytpldata("#kanban-model-modify-type-dot",data,"model"+data.id,function(html){
|
X.laytpldata("#kanban-model-modify-type-dot",data,"model"+data.id,function(html){
|
||||||
// console.log(html);
|
// console.log(html);
|
||||||
$("#model-two-"+data.id).html(html);
|
$("#model-two-"+data.id).html(html);
|
||||||
@ -12098,13 +12126,21 @@ var X = window.X || {
|
|||||||
var arr = []
|
var arr = []
|
||||||
for(let i in d['summary_values']){
|
for(let i in d['summary_values']){
|
||||||
var index = d['summary_values'][i][pname].length - 1;
|
var index = d['summary_values'][i][pname].length - 1;
|
||||||
arr.push(d['summary_values'][i][pname][index]);
|
legenddata.push(i);
|
||||||
|
arr.push(d['summary_values'][i][pname]);
|
||||||
|
}
|
||||||
|
d.title.splice(0,1);
|
||||||
|
xAxisData = d.title;
|
||||||
|
|
||||||
|
for(let i in arr){
|
||||||
|
var drr = {
|
||||||
|
name: d.date_range[i],
|
||||||
|
type: 'line',
|
||||||
|
data: arr[i]
|
||||||
|
}
|
||||||
|
seriesData.push(drr);
|
||||||
}
|
}
|
||||||
|
|
||||||
seriesData = {
|
|
||||||
type: 'line',
|
|
||||||
data: arr
|
|
||||||
}
|
|
||||||
}else {
|
}else {
|
||||||
var timearr = [];
|
var timearr = [];
|
||||||
for(let i in d.values){
|
for(let i in d.values){
|
||||||
@ -12144,6 +12180,16 @@ var X = window.X || {
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
var selected = {};//线多的话默认显示5条
|
||||||
|
if(legenddata.length > 5){
|
||||||
|
for(let i in legenddata){
|
||||||
|
if(i < 5){
|
||||||
|
selected[legenddata[i]] = true;
|
||||||
|
}else {
|
||||||
|
selected[legenddata[i]] = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
var myChart = echarts.init(document.getElementById('analysis-echarts'));
|
var myChart = echarts.init(document.getElementById('analysis-echarts'));
|
||||||
var option = {
|
var option = {
|
||||||
@ -12162,7 +12208,8 @@ var X = window.X || {
|
|||||||
},
|
},
|
||||||
legend: {
|
legend: {
|
||||||
type:'scroll',
|
type:'scroll',
|
||||||
data: legenddata
|
data: legenddata,
|
||||||
|
selected:selected
|
||||||
},
|
},
|
||||||
grid: {
|
grid: {
|
||||||
left: '2%',
|
left: '2%',
|
||||||
|
@ -828,8 +828,13 @@ var X = window.X || {
|
|||||||
var legendnamearr = [];
|
var legendnamearr = [];
|
||||||
for(let i in data){
|
for(let i in data){
|
||||||
legendnamearr.push(data[i]['event_name'])
|
legendnamearr.push(data[i]['event_name'])
|
||||||
for(let z in data[i]['groups']){
|
if(data[i]['groups'].length > 0){
|
||||||
var pj = data[i]['event_name']+data[i]['groups'][z];
|
for(let z in data[i]['groups']){
|
||||||
|
var pj = data[i]['event_name']+data[i]['groups'][z];
|
||||||
|
legenddata.push(pj);
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
var pj = data[i]['event_name'];
|
||||||
legenddata.push(pj);
|
legenddata.push(pj);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -893,7 +898,7 @@ var X = window.X || {
|
|||||||
chain_ratiotype = '-'
|
chain_ratiotype = '-'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
console.log(legendnamearr);
|
|
||||||
var dataArr = {
|
var dataArr = {
|
||||||
xAxisData:data[0]['date_range'],
|
xAxisData:data[0]['date_range'],
|
||||||
legenddata:legenddata,
|
legenddata:legenddata,
|
||||||
@ -909,7 +914,7 @@ var X = window.X || {
|
|||||||
chain_ratio: Math.abs(data[0]['chain_ratio']),//同比
|
chain_ratio: Math.abs(data[0]['chain_ratio']),//同比
|
||||||
chain_ratiotype:chain_ratiotype
|
chain_ratiotype:chain_ratiotype
|
||||||
}
|
}
|
||||||
|
console.log(dataArr);
|
||||||
callback && callback(dataArr);
|
callback && callback(dataArr);
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -1058,19 +1063,26 @@ var X = window.X || {
|
|||||||
var arr = []
|
var arr = []
|
||||||
for(let i in d['summary_values']){
|
for(let i in d['summary_values']){
|
||||||
var index = d['summary_values'][i][pname].length - 1;
|
var index = d['summary_values'][i][pname].length - 1;
|
||||||
arr.push(d['summary_values'][i][pname][index]);
|
legenddata.push(i);
|
||||||
xAxisData.push(i);
|
arr.push(d['summary_values'][i][pname]);
|
||||||
}
|
|
||||||
|
|
||||||
seriesData = {
|
|
||||||
type: 'line',
|
|
||||||
data: arr
|
|
||||||
}
|
}
|
||||||
|
d.title.splice(0,1);
|
||||||
|
xAxisData = d.title;
|
||||||
for(let i in arr){
|
for(let i in arr){
|
||||||
sum = sum + arr[i];
|
var drr = {
|
||||||
sameday = arr[i];
|
name: d.date_range[i],
|
||||||
|
type: 'line',
|
||||||
|
data: arr[i]
|
||||||
|
}
|
||||||
|
seriesData.push(drr);
|
||||||
}
|
}
|
||||||
mean = (sum / arr.length).toFixed(2);
|
// for(let i in arr){
|
||||||
|
// if(arr[i] != "-"){
|
||||||
|
// sum = sum + 0;
|
||||||
|
// }
|
||||||
|
// sameday = arr[i];
|
||||||
|
// }
|
||||||
|
// mean = (sum / arr.length).toFixed(2);
|
||||||
|
|
||||||
}else {
|
}else {
|
||||||
var timearr = [];
|
var timearr = [];
|
||||||
@ -1127,20 +1139,31 @@ var X = window.X || {
|
|||||||
chain_ratiotype = '-'
|
chain_ratiotype = '-'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var selected = {};//线多的话默认显示5条
|
||||||
|
if(legenddata.length > 5){
|
||||||
|
for(let i in legenddata){
|
||||||
|
if(i < 5){
|
||||||
|
selected[legenddata[i]] = true;
|
||||||
|
}else {
|
||||||
|
selected[legenddata[i]] = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
var dataArr = {
|
var dataArr = {
|
||||||
xAxisData:xAxisData,
|
xAxisData:xAxisData,
|
||||||
legenddata:legenddata,
|
legenddata:legenddata,
|
||||||
seriesData:seriesData,
|
seriesData:seriesData,
|
||||||
|
selected:selected,
|
||||||
date:date,
|
date:date,
|
||||||
sum:sum.toFixed(2),
|
sum:sum.toFixed(2),
|
||||||
mean:mean,
|
mean:mean,
|
||||||
sameday: sameday,
|
sameday: 0,
|
||||||
wowtype:wowtype,
|
wowtype:wowtype,
|
||||||
chain_ratiotype:chain_ratiotype,
|
chain_ratiotype:chain_ratiotype,
|
||||||
retentiontype:d.retentiontype
|
retentiontype:d.retentiontype
|
||||||
}
|
}
|
||||||
// console.log(dataArr);
|
|
||||||
callback && callback(dataArr);
|
callback && callback(dataArr);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -164,7 +164,7 @@
|
|||||||
data['eventView']['endTime'] = timearr[2]+" "+"23:59:59";
|
data['eventView']['endTime'] = timearr[2]+" "+"23:59:59";
|
||||||
baobiaodata = d;
|
baobiaodata = d;
|
||||||
|
|
||||||
if(d.query.eventView.filts.length > 0){
|
if(d.query.events.length > 0){
|
||||||
$(".analysis-overall").show();
|
$(".analysis-overall").show();
|
||||||
}else {
|
}else {
|
||||||
$(".analysis-overall").hide();
|
$(".analysis-overall").hide();
|
||||||
|
@ -886,7 +886,7 @@
|
|||||||
//数据根据时间降序排列
|
//数据根据时间降序排列
|
||||||
if(d['ascending']){
|
if(d['ascending']){
|
||||||
// console.log()
|
// console.log()
|
||||||
console.log(eventdata);
|
// console.log(eventdata);
|
||||||
var condatalength = eventdata[0]['condata'].length;
|
var condatalength = eventdata[0]['condata'].length;
|
||||||
var condataascend=[];
|
var condataascend=[];
|
||||||
for(var i = condatalength - 1; i >= 0; i--){
|
for(var i = condatalength - 1; i >= 0; i--){
|
||||||
@ -1185,6 +1185,7 @@
|
|||||||
var myChart = echarts.init(document.getElementById(eventdata['id']));
|
var myChart = echarts.init(document.getElementById(eventdata['id']));
|
||||||
if(eventdata['cat'] == 'user_property'){
|
if(eventdata['cat'] == 'user_property'){
|
||||||
var option = {
|
var option = {
|
||||||
|
color: X.DATA.echartscolor,
|
||||||
tooltip: {
|
tooltip: {
|
||||||
trigger: 'axis',
|
trigger: 'axis',
|
||||||
axisPointer: {
|
axisPointer: {
|
||||||
|
@ -16,9 +16,9 @@
|
|||||||
var userarr;
|
var userarr;
|
||||||
var adduadaserarr;
|
var adduadaserarr;
|
||||||
|
|
||||||
var userinfo = X.DATA.userinfo;
|
// var userinfo = X.DATA.userinfo;
|
||||||
$(".gly-firs").html(userinfo.name.substring(0,1));
|
// $(".gly-firs").html(userinfo.name.substring(0,1));
|
||||||
$(".gly-name").html(userinfo.name);
|
// $(".gly-name").html(userinfo.name);
|
||||||
|
|
||||||
if(id){
|
if(id){
|
||||||
$(".editkongjian").show();
|
$(".editkongjian").show();
|
||||||
@ -35,6 +35,10 @@
|
|||||||
d[i]["firs"] = d[i]['name'].substring(0,1);
|
d[i]["firs"] = d[i]['name'].substring(0,1);
|
||||||
d[i]["authority"] = "r";
|
d[i]["authority"] = "r";
|
||||||
d[i]['user_id'] = d[i]['_id']
|
d[i]['user_id'] = d[i]['_id']
|
||||||
|
if(d[i].is_superuser){
|
||||||
|
$(".gly-firs").html(d[i].name.substring(0,1));
|
||||||
|
$(".gly-name").html(d[i].name);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
for(let i in adduadaserarr){
|
for(let i in adduadaserarr){
|
||||||
for(let j in d){
|
for(let j in d){
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
this.parms = parms;
|
this.parms = parms;
|
||||||
this.callback = parms.callback;
|
this.callback = parms.callback;
|
||||||
var data = parms;
|
var data = parms;
|
||||||
console.log(data);
|
// console.log(data);
|
||||||
X.laytpldata("#kanban-model-modify-type-dot",data,"model"+data.id,function(html){
|
X.laytpldata("#kanban-model-modify-type-dot",data,"model"+data.id,function(html){
|
||||||
// console.log(html);
|
// console.log(html);
|
||||||
$("#model-two-"+data.id).html(html);
|
$("#model-two-"+data.id).html(html);
|
||||||
|
@ -817,13 +817,21 @@
|
|||||||
var arr = []
|
var arr = []
|
||||||
for(let i in d['summary_values']){
|
for(let i in d['summary_values']){
|
||||||
var index = d['summary_values'][i][pname].length - 1;
|
var index = d['summary_values'][i][pname].length - 1;
|
||||||
arr.push(d['summary_values'][i][pname][index]);
|
legenddata.push(i);
|
||||||
|
arr.push(d['summary_values'][i][pname]);
|
||||||
|
}
|
||||||
|
d.title.splice(0,1);
|
||||||
|
xAxisData = d.title;
|
||||||
|
|
||||||
|
for(let i in arr){
|
||||||
|
var drr = {
|
||||||
|
name: d.date_range[i],
|
||||||
|
type: 'line',
|
||||||
|
data: arr[i]
|
||||||
|
}
|
||||||
|
seriesData.push(drr);
|
||||||
}
|
}
|
||||||
|
|
||||||
seriesData = {
|
|
||||||
type: 'line',
|
|
||||||
data: arr
|
|
||||||
}
|
|
||||||
}else {
|
}else {
|
||||||
var timearr = [];
|
var timearr = [];
|
||||||
for(let i in d.values){
|
for(let i in d.values){
|
||||||
@ -863,6 +871,16 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
var selected = {};//线多的话默认显示5条
|
||||||
|
if(legenddata.length > 5){
|
||||||
|
for(let i in legenddata){
|
||||||
|
if(i < 5){
|
||||||
|
selected[legenddata[i]] = true;
|
||||||
|
}else {
|
||||||
|
selected[legenddata[i]] = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
var myChart = echarts.init(document.getElementById('analysis-echarts'));
|
var myChart = echarts.init(document.getElementById('analysis-echarts'));
|
||||||
var option = {
|
var option = {
|
||||||
@ -881,7 +899,8 @@
|
|||||||
},
|
},
|
||||||
legend: {
|
legend: {
|
||||||
type:'scroll',
|
type:'scroll',
|
||||||
data: legenddata
|
data: legenddata,
|
||||||
|
selected:selected
|
||||||
},
|
},
|
||||||
grid: {
|
grid: {
|
||||||
left: '2%',
|
left: '2%',
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
.modify-layui-footer { left: 270px !important; }
|
.modify-layui-footer { left: 270px !important; }
|
||||||
.modify-layui-header { background-color: #475285; }
|
.modify-layui-header { background-color: #475285; }
|
||||||
.layui-nav { background: none; }
|
.layui-nav { background: none; }
|
||||||
.layui-form-select dl { max-height: 225px !important; }
|
.layui-form-select dl { max-height: 88px !important; }
|
||||||
.layui-table-body { height: 660px !important; }
|
.layui-table-body { height: 660px !important; }
|
||||||
.layui-form-item .layui-form-checkbox[lay-skin=primary] { text-indent: 0px !important; }
|
.layui-form-item .layui-form-checkbox[lay-skin=primary] { text-indent: 0px !important; }
|
||||||
.layui-anim-downbit { max-height: 350px; overflow-y: auto; overflow-x: hidden; }
|
.layui-anim-downbit { max-height: 350px; overflow-y: auto; overflow-x: hidden; }
|
||||||
|
Loading…
Reference in New Issue
Block a user