From a12d1d6d4e3161e27c24e31375068dee085c26c5 Mon Sep 17 00:00:00 2001 From: tonytonychopper123 <40351140+tonytonychopper123@users.noreply.github.com> Date: Fri, 31 Jul 2020 10:12:34 +0800 Subject: [PATCH] update jiang --- index.html | 70 -- src/expendPlugins/chart/plugin.js | 1662 +++++++++++++---------------- 2 files changed, 744 insertions(+), 988 deletions(-) delete mode 100644 index.html diff --git a/index.html b/index.html deleted file mode 100644 index 169b36a..0000000 --- a/index.html +++ /dev/null @@ -1,70 +0,0 @@ - - - - - - - - - Luckysheet - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - \ No newline at end of file diff --git a/src/expendPlugins/chart/plugin.js b/src/expendPlugins/chart/plugin.js index d019f71..2d844f4 100644 --- a/src/expendPlugins/chart/plugin.js +++ b/src/expendPlugins/chart/plugin.js @@ -22,15 +22,15 @@ const dependScripts = [ // 'https://unpkg.com/element-ui/lib/index.js', 'https://cdn.bootcdn.net/ajax/libs/element-ui/2.13.2/index.js', 'https://cdn.bootcdn.net/ajax/libs/echarts/4.8.0/echarts.min.js', - // 'expendPlugins/chart/chartmix.umd.js' - 'http://10.0.75.1:8000/chartmix.umd.js' + 'expendPlugins/chart/chartmix.umd.js' + // 'http://10.0.75.1:8000/chartmix.umd.js' ] const dependLinks = [ // 'https://unpkg.com/element-ui/lib/theme-chalk/index.css', 'https://cdn.bootcdn.net/ajax/libs/element-ui/2.13.2/theme-chalk/index.css', - // 'expendPlugins/chart/chartmix.css' - 'http://10.0.75.1:8000/chartmix.css' + 'expendPlugins/chart/chartmix.css' + // 'http://10.0.75.1:8000/chartmix.css' ] // Initialize the chart component @@ -59,10 +59,745 @@ function chart() { chartInfo.highlightChart = chartmix.default.highlightChart chartInfo.deleteChart = chartmix.default.deleteChart chartInfo.resizeChart = chartmix.default.resizeChart - chartInfo.chartStore = store; + chartInfo.chart_selection = chart_selection() }); } +function chart_selection(){ + return { + create: function () { + var chart_json = chartInfo.currentChart + + if (chart_json.rangeArray.length > 1) { + return + } + + $('#luckysheet-chart-rangeShow').empty() + $('#luckysheet-cell-selected-boxs').hide() + $('#luckysheet-cell-selected-focus').hide() + $('#luckysheet-rows-h-selected').hide() + $('#luckysheet-cols-h-selected').hide() + $('#luckysheet-row-count-show').hide() + $('#luckysheet-column-count-show').hide() + + var st_r = chart_json.rangeArray[0].row[0] + var st_c = chart_json.rangeArray[0].column[0] + + var rangeSplitArray = chart_json.rangeSplitArray + + //首行是否标题 + var rangeRowCheck = chart_json.rangeRowCheck + + if (rangeRowCheck.exits) { + var chart_rowtitle_html = getRangeShowHtml( + 'rowtitle', + rangeSplitArray.rowtitle.row[0] + st_r, + rangeSplitArray.rowtitle.row[1] + st_r, + rangeSplitArray.rowtitle.column[0] + st_c, + rangeSplitArray.rowtitle.column[1] + st_c + ) + } else { + var chart_rowtitle_html = '' + } + + //首列是否标题 + var rangeColCheck = chart_json.rangeColCheck + + if (rangeColCheck.exits) { + var chart_coltitle_html = getRangeShowHtml( + 'coltitle', + rangeSplitArray.coltitle.row[0] + st_r, + rangeSplitArray.coltitle.row[1] + st_r, + rangeSplitArray.coltitle.column[0] + st_c, + rangeSplitArray.coltitle.column[1] + st_c + ) + } else { + var chart_coltitle_html = '' + } + + //内容块 + var chart_content_html = getRangeShowHtml( + 'content', + rangeSplitArray.content.row[0] + st_r, + rangeSplitArray.content.row[1] + st_r, + rangeSplitArray.content.column[0] + st_c, + rangeSplitArray.content.column[1] + st_c + ) + + $('#luckysheet-chart-rangeShow').append( + chart_rowtitle_html + chart_coltitle_html + chart_content_html + ) + + function getRangeShowHtml(type, r1, r2, c1, c2) { + var visibledatarow = getvisibledatarow() + var visibledatacolumn = getvisibledatacolumn() + + var row = visibledatarow[r2], + row_pre = r1 - 1 == -1 ? 0 : visibledatarow[r1 - 1] + var col = visibledatacolumn[c2], + col_pre = c1 - 1 == -1 ? 0 : visibledatacolumn[c1 - 1] + + if (type == 'rowtitle') { + var color = '#C65151' + } + + if (type == 'coltitle') { + var color = '#9667C0' + } + + if (type == 'content') { + var color = '#4970D1' + } + + var html = + '
' + + '
' + + '
' + + '
' + + '
' + + '
' + + '
' + + '
' + + '
' + + '
' + + '
' + + return html + } + }, + rangeMove: false, + rangeMovexy: null, + rangeMoveIndex: null, + rangeMoveObj: null, + rangeMoveDraging: function (event, sheetBarHeight, statisticBarHeight) { + var chart_json = chartInfo.currentChart + var st_r = chart_json.rangeArray[0].row[0] + var st_c = chart_json.rangeArray[0].column[0] + var rangeRowCheck = chart_json.rangeRowCheck + var rangeColCheck = chart_json.rangeColCheck + var rangeSplitArray = chart_json.rangeSplitArray + + var mouse = mouseposition(event.pageX, event.pageY) + var scrollLeft = $('#luckysheet-cell-main').scrollLeft() + var scrollTop = $('#luckysheet-cell-main').scrollTop() + + var x = mouse[0] + scrollLeft + var y = mouse[1] + scrollTop + + var winH = + $(window).height() + scrollTop - sheetBarHeight - statisticBarHeight, + winW = $(window).width() + scrollLeft + + var rowLocation = rowLocation(y), + row_index = rowLocation[2] + var colLocation = colLocation(x), + col_index = colLocation[2] + + var visibledatarow = getvisibledatarow() + var visibledatacolumn = getvisibledatacolumn() + + var $id = chartInfo.chart_selection.rangeMoveObj.attr('id') + + if ($id == 'luckysheet-chart-rangeShow-content') { + //行 + var row_s = + chartInfo.chart_selection.rangeMoveIndex[0] - + chartInfo.chart_selection.rangeMovexy[0] + + row_index + + if (rangeRowCheck.exits) { + if (row_s < st_r + rangeRowCheck.range[1] + 1 || y < 0) { + row_s = st_r + rangeRowCheck.range[1] + 1 + } + } else { + if (row_s < 0 || y < 0) { + row_s = 0 + } + } + + var row_e = + rangeSplitArray.content.row[1] - rangeSplitArray.content.row[0] + row_s + + if (row_e >= visibledatarow.length - 1 || y > winH) { + row_s = + visibledatarow.length - + 1 - + rangeSplitArray.content.row[1] + + rangeSplitArray.content.row[0] + row_e = visibledatarow.length - 1 + } + + //列 + var col_s = + chartInfo.chart_selection.rangeMoveIndex[1] - + chartInfo.chart_selection.rangeMovexy[1] + + col_index + if (rangeColCheck.exits) { + if (col_s < st_c + rangeColCheck.range[1] + 1 || x < 0) { + col_s = st_c + rangeColCheck.range[1] + 1 + } + } else { + if (col_s < 0 || x < 0) { + col_s = 0 + } + } + + var col_e = + rangeSplitArray.content.column[1] - + rangeSplitArray.content.column[0] + + col_s + + if (col_e >= visibledatacolumn.length - 1 || x > winW) { + col_s = + visibledatacolumn.length - + 1 - + rangeSplitArray.content.column[1] + + rangeSplitArray.content.column[0] + col_e = visibledatacolumn.length - 1 + } + + //更新 + if (rangeRowCheck.exits && rangeColCheck.exits) { + chart_json.rangeArray = [{ row: [st_r, row_e], column: [st_c, col_e] }] + chart_json.rangeSplitArray.range = { + row: [st_r, row_e], + column: [st_c, col_e] + } + + chart_json.rangeSplitArray.content = { + row: [row_s - st_r, row_e - st_r], + column: [col_s - st_c, col_e - st_c] + } + + chart_json.rangeSplitArray.rowtitle = { + row: chart_json.rangeSplitArray.rowtitle.row, + column: [col_s - st_c, col_e - st_c] + } + + chart_json.rangeSplitArray.coltitle = { + row: [row_s - st_r, row_e - st_r], + column: chart_json.rangeSplitArray.coltitle.column + } + } else if (rangeRowCheck.exits) { + chart_json.rangeArray = [{ row: [st_r, row_e], column: [col_s, col_e] }] + chart_json.rangeSplitArray.range = { + row: [st_r, row_e], + column: [col_s, col_e] + } + + chart_json.rangeSplitArray.content = { + row: [row_s - st_r, row_e - st_r], + column: chart_json.rangeSplitArray.content.column + } + } else if (rangeColCheck.exits) { + chart_json.rangeArray = [{ row: [row_s, row_e], column: [st_c, col_e] }] + chart_json.rangeSplitArray.range = { + row: [row_s, row_e], + column: [st_c, col_e] + } + + chart_json.rangeSplitArray.content = { + row: chart_json.rangeSplitArray.content.row, + column: [col_s - st_c, col_e - st_c] + } + } else { + chart_json.rangeArray = [ + { row: [row_s, row_e], column: [col_s, col_e] } + ] + chart_json.rangeSplitArray.range = { + row: [row_s, row_e], + column: [col_s, col_e] + } + } + } else if ($id == 'luckysheet-chart-rangeShow-rowtitle') { + //列 + var col_s = + chartInfo.chart_selection.rangeMoveIndex[1] - + chartInfo.chart_selection.rangeMovexy[1] + + col_index + + if (rangeColCheck.exits) { + if (col_s < st_c + rangeColCheck.range[1] + 1 || x < 0) { + col_s = st_c + rangeColCheck.range[1] + 1 + } + } else { + if (col_s < 0 || x < 0) { + col_s = 0 + } + } + + var col_e = + rangeSplitArray.rowtitle.column[1] - + rangeSplitArray.rowtitle.column[0] + + col_s + + if (col_e >= visibledatacolumn.length - 1 || x > winW) { + col_s = + visibledatacolumn.length - + 1 - + rangeSplitArray.rowtitle.column[1] + + rangeSplitArray.rowtitle.column[0] + col_e = visibledatacolumn.length - 1 + } + + //更新 + if (rangeColCheck.exits) { + chart_json.rangeArray = [ + { row: chart_json.rangeArray[0].row, column: [st_c, col_e] } + ] + chart_json.rangeSplitArray.range = { + row: chart_json.rangeArray[0].row, + column: [st_c, col_e] + } + + chart_json.rangeSplitArray.rowtitle = { + row: chart_json.rangeSplitArray.rowtitle.row, + column: [col_s - st_c, col_e - st_c] + } + chart_json.rangeSplitArray.content = { + row: chart_json.rangeSplitArray.content.row, + column: [col_s - st_c, col_e - st_c] + } + } else { + chart_json.rangeArray = [ + { row: chart_json.rangeArray[0].row, column: [col_s, col_e] } + ] + chart_json.rangeSplitArray.range = { + row: chart_json.rangeArray[0].row, + column: [col_s, col_e] + } + } + } else if ($id == 'luckysheet-chart-rangeShow-coltitle') { + //行 + var row_s = + chartInfo.chart_selection.rangeMoveIndex[0] - + chartInfo.chart_selection.rangeMovexy[0] + + row_index + if (rangeRowCheck.exits) { + if (row_s < st_r + rangeRowCheck.range[1] + 1 || y < 0) { + row_s = st_r + rangeRowCheck.range[1] + 1 + } + } else { + if (row_s < 0 || y < 0) { + row_s = 0 + } + } + + //更新 + var row_e = + rangeSplitArray.coltitle.row[1] - + rangeSplitArray.coltitle.row[0] + + row_s + + if (row_e >= visibledatarow.length - 1 || y > winH) { + row_s = + visibledatarow.length - + 1 - + rangeSplitArray.coltitle.row[1] + + rangeSplitArray.coltitle.row[0] + row_e = visibledatarow.length - 1 + } + + if (rangeRowCheck.exits) { + chart_json.rangeArray = [ + { row: [st_r, row_e], column: chart_json.rangeArray[0].column } + ] + chart_json.rangeSplitArray.range = { + row: [st_r, row_e], + column: chart_json.rangeArray[0].column + } + + chart_json.rangeSplitArray.coltitle = { + row: [row_s - st_r, row_e - st_r], + column: chart_json.rangeSplitArray.coltitle.column + } + chart_json.rangeSplitArray.content = { + row: [row_s - st_r, row_e - st_r], + column: chart_json.rangeSplitArray.content.column + } + } else { + chart_json.rangeArray = [ + { row: [row_s, row_e], column: chart_json.rangeArray[0].column } + ] + chart_json.rangeSplitArray.range = { + row: [row_s, row_e], + column: chart_json.rangeArray[0].column + } + } + } + + chartInfo.chart_selection.create(chartInfo.currentChart) + }, + rangeMoveDragged: function () { + chartInfo.chart_selection.rangeMove = false + + var updateJson = chartInfo.currentChart + + updateJson.rangeTxt = getRangetxt( + luckysheet.currentSheetIndex, + updateJson.rangeArray[0], + luckysheet.currentSheetIndex + ) + updateJson.chartData = getdatabyselection( + updateJson.rangeArray[0], + luckysheet.currentSheetIndex + ) + // 渲染 + chartInfo.changeChartRange(updateJson.chart_id, updateJson.chartData, updateJson.rangeArray, updateJson.rangeTxt) + }, + rangeResize: false, + rangeResizexy: null, + rangeResizeIndex: null, + rangeResizeObj: null, + rangeResizeDraging: function (event, sheetBarHeight, statisticBarHeight) { + var chart_json = chartInfo.currentChart + + var st_r = chart_json.rangeArray[0].row[0] + var st_c = chart_json.rangeArray[0].column[0] + var rangeRowCheck = chart_json.rangeRowCheck + var rangeColCheck = chart_json.rangeColCheck + var rangeSplitArray = chart_json.rangeSplitArray + + var mouse = mouseposition(event.pageX, event.pageY) + var scrollLeft = $('#luckysheet-cell-main').scrollLeft() + var scrollTop = $('#luckysheet-cell-main').scrollTop() + + var x = mouse[0] + scrollLeft + var y = mouse[1] + scrollTop + + var winH = + $(window).height() + scrollTop - sheetBarHeight - statisticBarHeight, + winW = $(window).width() + scrollLeft + + var rowLocation = rowLocation(y), + row_index = rowLocation[2] + var colLocation = colLocation(x), + col_index = colLocation[2] + + var visibledatarow = getvisibledatarow() + var visibledatacolumn = getvisibledatacolumn() + + var $id = chartInfo.chart_selection.rangeResizeObj.attr('id') + + if ($id == 'luckysheet-chart-rangeShow-content') { + var r1, r2, c1, c2 + + if (chartInfo.chart_selection.rangeResize == 'lt') { + r1 = chartInfo.chart_selection.rangeResizeIndex.row[0] + c1 = chartInfo.chart_selection.rangeResizeIndex.column[0] + + r2 = chartInfo.chart_selection.rangeResizeIndex.row[1] + c2 = chartInfo.chart_selection.rangeResizeIndex.column[1] + } else if (chartInfo.chart_selection.rangeResize == 'lb') { + r1 = chartInfo.chart_selection.rangeResizeIndex.row[1] + c1 = chartInfo.chart_selection.rangeResizeIndex.column[0] + + r2 = chartInfo.chart_selection.rangeResizeIndex.row[0] + c2 = chartInfo.chart_selection.rangeResizeIndex.column[1] + } else if (chartInfo.chart_selection.rangeResize == 'rt') { + r1 = chartInfo.chart_selection.rangeResizeIndex.row[0] + c1 = chartInfo.chart_selection.rangeResizeIndex.column[1] + + r2 = chartInfo.chart_selection.rangeResizeIndex.row[1] + c2 = chartInfo.chart_selection.rangeResizeIndex.column[0] + } else if (chartInfo.chart_selection.rangeResize == 'rb') { + r1 = chartInfo.chart_selection.rangeResizeIndex.row[1] + c1 = chartInfo.chart_selection.rangeResizeIndex.column[1] + + r2 = chartInfo.chart_selection.rangeResizeIndex.row[0] + c2 = chartInfo.chart_selection.rangeResizeIndex.column[0] + } + + //行 + if (rangeRowCheck.exits) { + var row_s = r1 - chartInfo.chart_selection.rangeResizexy[0] + row_index + + if (row_s < st_r + rangeRowCheck.range[1] + 1 || y < 0) { + row_s = st_r + rangeRowCheck.range[1] + 1 + } else if (row_s >= visibledatarow.length - 1 || y > winH) { + row_s = visibledatarow.length - 1 + } + } else { + var row_s = st_r - chartInfo.chart_selection.rangeResizexy[0] + row_index + + if (row_s < 0 || y < 0) { + row_s = 0 + } else if (row_s >= visibledatarow.length - 1 || y > winH) { + row_s = visibledatarow.length - 1 + } + } + + //列 + if (rangeColCheck.exits) { + var col_s = c1 - chartInfo.chart_selection.rangeResizexy[1] + col_index + + if (col_s < st_c + rangeColCheck.range[1] + 1 || x < 0) { + col_s = st_c + rangeColCheck.range[1] + 1 + } else if (col_s >= visibledatacolumn.length - 1 || x > winW) { + col_s = visibledatacolumn.length - 1 + } + } else { + var col_s = st_c - chartInfo.chart_selection.rangeResizexy[1] + col_index + + if (col_s < 0 || x < 0) { + col_s = 0 + } else if (col_s >= visibledatacolumn.length - 1 || x > winW) { + col_s = visibledatacolumn.length - 1 + } + } + + var obj_r1, obj_r2, obj_c1, obj_c2 + + if (row_s > r2) { + obj_r1 = r2 + obj_r2 = row_s + } else { + obj_r1 = row_s + obj_r2 = r2 + } + + if (col_s > c2) { + obj_c1 = c2 + obj_c2 = col_s + } else { + obj_c1 = col_s + obj_c2 = c2 + } + + if (!rangeRowCheck.exits && !rangeColCheck.exits) { + chart_json.rangeArray = [ + { row: [obj_r1, obj_r2], column: [obj_c1, obj_c2] } + ] + chart_json.rangeSplitArray.range = { + row: [obj_r1, obj_r2], + column: [obj_c1, obj_c2] + } + } else { + chart_json.rangeArray = [ + { row: [st_r, obj_r2], column: [st_c, obj_c2] } + ] + chart_json.rangeSplitArray.range = { + row: [st_r, obj_r2], + column: [st_c, obj_c2] + } + + chart_json.rangeSplitArray.content = { + row: [obj_r1 - st_r, obj_r2 - st_r], + column: [obj_c1 - st_c, obj_c2 - st_c] + } + + if (rangeRowCheck.exits) { + chart_json.rangeSplitArray.rowtitle = { + row: chart_json.rangeSplitArray.rowtitle.row, + column: [obj_c1 - st_c, obj_c2 - st_c] + } + } + + if (rangeColCheck.exits) { + chart_json.rangeSplitArray.coltitle = { + row: [obj_r1 - st_r, obj_r2 - st_r], + column: chart_json.rangeSplitArray.coltitle.column + } + } + } + } else if ($id == 'luckysheet-chart-rangeShow-rowtitle') { + var c1, c2 + + if ( + chartInfo.chart_selection.rangeResize == 'lt' || + chartInfo.chart_selection.rangeResize == 'lb' + ) { + c1 = chartInfo.chart_selection.rangeResizeIndex.column[0] + c2 = chartInfo.chart_selection.rangeResizeIndex.column[1] + } else if ( + chartInfo.chart_selection.rangeResize == 'rt' || + chartInfo.chart_selection.rangeResize == 'rb' + ) { + c1 = chartInfo.chart_selection.rangeResizeIndex.column[1] + c2 = chartInfo.chart_selection.rangeResizeIndex.column[0] + } + + //列 + if (rangeColCheck.exits) { + var col_s = c1 - chartInfo.chart_selection.rangeResizexy[1] + col_index + + if (col_s < st_c + rangeColCheck.range[1] + 1 || x < 0) { + col_s = st_c + rangeColCheck.range[1] + 1 + } else if (col_s >= visibledatacolumn.length - 1 || x > winW) { + col_s = visibledatacolumn.length - 1 + } + } else { + var col_s = st_c - chartInfo.chart_selection.rangeResizexy[1] + col_index + + if (col_s < 0 || x < 0) { + col_s = 0 + } else if (col_s >= visibledatacolumn.length - 1 || x > winW) { + col_s = visibledatacolumn.length - 1 + } + } + + var obj_c1, obj_c2 + + if (col_s > c2) { + obj_c1 = c2 + obj_c2 = col_s + } else { + obj_c1 = col_s + obj_c2 = c2 + } + + //更新 + if (!rangeColCheck.exits) { + chart_json.rangeArray = [ + { row: chart_json.rangeArray[0].row, column: [obj_c1, obj_c2] } + ] + chart_json.rangeSplitArray.range = { + row: chart_json.rangeArray[0].row, + column: [obj_c1, obj_c2] + } + } else { + chart_json.rangeArray = [ + { row: chart_json.rangeArray[0].row, column: [st_c, obj_c2] } + ] + chart_json.rangeSplitArray.range = { + row: chart_json.rangeArray[0].row, + column: [st_c, obj_c2] + } + + chart_json.rangeSplitArray.rowtitle = { + row: chart_json.rangeSplitArray.rowtitle.row, + column: [obj_c1 - st_c, obj_c2 - st_c] + } + chart_json.rangeSplitArray.content = { + row: chart_json.rangeSplitArray.content.row, + column: [obj_c1 - st_c, obj_c2 - st_c] + } + } + } else if ($id == 'luckysheet-chart-rangeShow-coltitle') { + var r1, r2 + + if ( + chartInfo.chart_selection.rangeResize == 'lt' || + chartInfo.chart_selection.rangeResize == 'rt' + ) { + r1 = chartInfo.chart_selection.rangeResizeIndex.row[0] + r2 = chartInfo.chart_selection.rangeResizeIndex.row[1] + } else if ( + chartInfo.chart_selection.rangeResize == 'lb' || + chartInfo.chart_selection.rangeResize == 'rb' + ) { + r1 = chartInfo.chart_selection.rangeResizeIndex.row[1] + r2 = chartInfo.chart_selection.rangeResizeIndex.row[0] + } + + //行 + if (rangeRowCheck.exits) { + var row_s = r1 - chartInfo.chart_selection.rangeResizexy[0] + row_index + + if (row_s < st_r + rangeRowCheck.range[1] + 1 || y < 0) { + row_s = st_r + rangeRowCheck.range[1] + 1 + } else if (row_s >= visibledatarow.length - 1 || y > winH) { + row_s = visibledatarow.length - 1 + } + } else { + var row_s = st_r - chartInfo.chart_selection.rangeResizexy[0] + row_index + + if (row_s < 0 || y < 0) { + row_s = 0 + } else if (row_s >= visibledatarow.length - 1 || y > winH) { + row_s = visibledatarow.length - 1 + } + } + + var obj_r1, obj_r2 + + if (row_s > r2) { + obj_r1 = r2 + obj_r2 = row_s + } else { + obj_r1 = row_s + obj_r2 = r2 + } + + //更新 + if (!rangeRowCheck.exits) { + chart_json.rangeArray = [ + { row: [obj_r1, obj_r2], column: chart_json.rangeArray[0].column } + ] + chart_json.rangeSplitArray.range = { + row: [obj_r1, obj_r2], + column: chart_json.rangeArray[0].column + } + } else { + chart_json.rangeArray = [ + { row: [st_r, obj_r2], column: chart_json.rangeArray[0].column } + ] + chart_json.rangeSplitArray.range = { + row: [st_r, obj_r2], + column: chart_json.rangeArray[0].column + } + + chart_json.rangeSplitArray.coltitle = { + row: [obj_r1 - st_r, obj_r2 - st_r], + column: chart_json.rangeSplitArray.coltitle.column + } + chart_json.rangeSplitArray.content = { + row: [obj_r1 - st_r, obj_r2 - st_r], + column: chart_json.rangeSplitArray.content.column + } + } + } + + chartInfo.chart_selection.create(chartInfo.currentChart) + }, + rangeResizeDragged: function () { + chartInfo.chart_selection.rangeResize = null + + updateJson.rangeTxt = getRangetxt( + luckysheet.currentSheetIndex, + updateJson.rangeArray[0], + luckysheet.currentSheetIndex + ) + updateJson.chartData = getdatabyselection( + updateJson.rangeArray[0], + luckysheet.currentSheetIndex + ) + // 渲染 + chartInfo.changeChartRange(updateJson.chart_id, updateJson.chartData, updateJson.rangeArray, updateJson.rangeTxt) + + } + } +} + + // create chart function createLuckyChart(width, height, left, top) { //如果只选中一个单元格,则自动填充选取 @@ -180,6 +915,7 @@ function createLuckyChart(width, height, left, top) { let container = document.getElementById(chart_id_c) let { render, chart_json } = chartInfo.createChart($(`#${chart_id_c}`).children('.luckysheet-modal-dialog-content')[0], chartData, chart_id, rangeArray, rangeTxt) + chartInfo.currentChart = chart_json.chartOptions console.dir(JSON.stringify(chart_json)) width = width ? width : 400 @@ -373,7 +1109,7 @@ function hideAllNeedRangeShow() { function selectRangeBorderShow(chart_id) { let $t = $('#' + chart_id + '_c') - // chartInfo.chart_selection.create(chart_id) + chartInfo.chart_selection.create(chart_id) chartInfo.chartparam.luckysheetCurrentChartActive = true chartInfo.chartparam.luckysheetCurrentChartMoveObj = $t chartInfo.chartparam.luckysheetCurrentChartResizeObj = $t @@ -401,7 +1137,7 @@ function selectRangeBorderShow(chart_id) { } // 切换到当前图表设置项 - chartInfo.highlightChart(chart_id) + chartInfo.currentChart = chartInfo.highlightChart(chart_id) } //选择区域高亮隐藏 @@ -467,915 +1203,5 @@ function hideChartSettingComponent(refresh) { } } -// 数据高亮选区 -const chart_selection = { - create: function (chart_id) { - const store = chartInfo.chartStore - var chart_json = store.state.chartSetting.chartLists[chart_id].chartOptions - - if (chart_json.rangeArray.length > 1) { - return - } - - $('#luckysheet-chart-rangeShow').empty() - $('#luckysheet-cell-selected-boxs').hide() - $('#luckysheet-cell-selected-focus').hide() - $('#luckysheet-rows-h-selected').hide() - $('#luckysheet-cols-h-selected').hide() - $('#luckysheet-row-count-show').hide() - $('#luckysheet-column-count-show').hide() - - var st_r = chart_json.rangeArray[0].row[0] - var st_c = chart_json.rangeArray[0].column[0] - - var rangeSplitArray = chart_json.rangeSplitArray - - //首行是否标题 - var rangeRowCheck = chart_json.rangeRowCheck - - if (rangeRowCheck.exits) { - var chart_rowtitle_html = getRangeShowHtml( - 'rowtitle', - rangeSplitArray.rowtitle.row[0] + st_r, - rangeSplitArray.rowtitle.row[1] + st_r, - rangeSplitArray.rowtitle.column[0] + st_c, - rangeSplitArray.rowtitle.column[1] + st_c - ) - } else { - var chart_rowtitle_html = '' - } - - //首列是否标题 - var rangeColCheck = chart_json.rangeColCheck - - if (rangeColCheck.exits) { - var chart_coltitle_html = getRangeShowHtml( - 'coltitle', - rangeSplitArray.coltitle.row[0] + st_r, - rangeSplitArray.coltitle.row[1] + st_r, - rangeSplitArray.coltitle.column[0] + st_c, - rangeSplitArray.coltitle.column[1] + st_c - ) - } else { - var chart_coltitle_html = '' - } - - //内容块 - var chart_content_html = getRangeShowHtml( - 'content', - rangeSplitArray.content.row[0] + st_r, - rangeSplitArray.content.row[1] + st_r, - rangeSplitArray.content.column[0] + st_c, - rangeSplitArray.content.column[1] + st_c - ) - - $('#luckysheet-chart-rangeShow').append( - chart_rowtitle_html + chart_coltitle_html + chart_content_html - ) - - function getRangeShowHtml(type, r1, r2, c1, c2) { - var visibledatarow = getvisibledatarow() - var visibledatacolumn = getvisibledatacolumn() - - var row = visibledatarow[r2], - row_pre = r1 - 1 == -1 ? 0 : visibledatarow[r1 - 1] - var col = visibledatacolumn[c2], - col_pre = c1 - 1 == -1 ? 0 : visibledatacolumn[c1 - 1] - - if (type == 'rowtitle') { - var color = '#C65151' - } - - if (type == 'coltitle') { - var color = '#9667C0' - } - - if (type == 'content') { - var color = '#4970D1' - } - - var html = - '
' + - '
' + - '
' + - '
' + - '
' + - '
' + - '
' + - '
' + - '
' + - '
' + - '
' - - return html - } - }, - rangeMove: false, - rangeMovexy: null, - rangeMoveIndex: null, - rangeMoveObj: null, - rangeMoveDraging: function (event, sheetBarHeight, statisticBarHeight) { - const store = chartInfo.chartStore - var chart_json = $.extend( - true, - {}, - store.state.chartSetting.chartLists[store.state.chartSetting.currentChartIndex].chartOptions - ) - var st_r = chart_json.rangeArray[0].row[0] - var st_c = chart_json.rangeArray[0].column[0] - var rangeRowCheck = chart_json.rangeRowCheck - var rangeColCheck = chart_json.rangeColCheck - var rangeSplitArray = chart_json.rangeSplitArray - - var mouse = mouseposition(event.pageX, event.pageY) - var scrollLeft = $('#luckysheet-cell-main').scrollLeft() - var scrollTop = $('#luckysheet-cell-main').scrollTop() - - var x = mouse[0] + scrollLeft - var y = mouse[1] + scrollTop - - var winH = - $(window).height() + scrollTop - sheetBarHeight - statisticBarHeight, - winW = $(window).width() + scrollLeft - - var rowLocation = rowLocation(y), - row_index = rowLocation[2] - var colLocation = colLocation(x), - col_index = colLocation[2] - - var visibledatarow = getvisibledatarow() - var visibledatacolumn = getvisibledatacolumn() - - var $id = chart_selection.rangeMoveObj.attr('id') - - if ($id == 'luckysheet-chart-rangeShow-content') { - //行 - var row_s = - chart_selection.rangeMoveIndex[0] - - chart_selection.rangeMovexy[0] + - row_index - - if (rangeRowCheck.exits) { - if (row_s < st_r + rangeRowCheck.range[1] + 1 || y < 0) { - row_s = st_r + rangeRowCheck.range[1] + 1 - } - } else { - if (row_s < 0 || y < 0) { - row_s = 0 - } - } - - var row_e = - rangeSplitArray.content.row[1] - rangeSplitArray.content.row[0] + row_s - - if (row_e >= visibledatarow.length - 1 || y > winH) { - row_s = - visibledatarow.length - - 1 - - rangeSplitArray.content.row[1] + - rangeSplitArray.content.row[0] - row_e = visibledatarow.length - 1 - } - - //列 - var col_s = - chart_selection.rangeMoveIndex[1] - - chart_selection.rangeMovexy[1] + - col_index - if (rangeColCheck.exits) { - if (col_s < st_c + rangeColCheck.range[1] + 1 || x < 0) { - col_s = st_c + rangeColCheck.range[1] + 1 - } - } else { - if (col_s < 0 || x < 0) { - col_s = 0 - } - } - - var col_e = - rangeSplitArray.content.column[1] - - rangeSplitArray.content.column[0] + - col_s - - if (col_e >= visibledatacolumn.length - 1 || x > winW) { - col_s = - visibledatacolumn.length - - 1 - - rangeSplitArray.content.column[1] + - rangeSplitArray.content.column[0] - col_e = visibledatacolumn.length - 1 - } - - //更新 - if (rangeRowCheck.exits && rangeColCheck.exits) { - chart_json.rangeArray = [{ row: [st_r, row_e], column: [st_c, col_e] }] - chart_json.rangeSplitArray.range = { - row: [st_r, row_e], - column: [st_c, col_e] - } - - chart_json.rangeSplitArray.content = { - row: [row_s - st_r, row_e - st_r], - column: [col_s - st_c, col_e - st_c] - } - - chart_json.rangeSplitArray.rowtitle = { - row: chart_json.rangeSplitArray.rowtitle.row, - column: [col_s - st_c, col_e - st_c] - } - - chart_json.rangeSplitArray.coltitle = { - row: [row_s - st_r, row_e - st_r], - column: chart_json.rangeSplitArray.coltitle.column - } - } else if (rangeRowCheck.exits) { - chart_json.rangeArray = [{ row: [st_r, row_e], column: [col_s, col_e] }] - chart_json.rangeSplitArray.range = { - row: [st_r, row_e], - column: [col_s, col_e] - } - - chart_json.rangeSplitArray.content = { - row: [row_s - st_r, row_e - st_r], - column: chart_json.rangeSplitArray.content.column - } - } else if (rangeColCheck.exits) { - chart_json.rangeArray = [{ row: [row_s, row_e], column: [st_c, col_e] }] - chart_json.rangeSplitArray.range = { - row: [row_s, row_e], - column: [st_c, col_e] - } - - chart_json.rangeSplitArray.content = { - row: chart_json.rangeSplitArray.content.row, - column: [col_s - st_c, col_e - st_c] - } - } else { - chart_json.rangeArray = [ - { row: [row_s, row_e], column: [col_s, col_e] } - ] - chart_json.rangeSplitArray.range = { - row: [row_s, row_e], - column: [col_s, col_e] - } - } - } else if ($id == 'luckysheet-chart-rangeShow-rowtitle') { - //列 - var col_s = - chart_selection.rangeMoveIndex[1] - - chart_selection.rangeMovexy[1] + - col_index - - if (rangeColCheck.exits) { - if (col_s < st_c + rangeColCheck.range[1] + 1 || x < 0) { - col_s = st_c + rangeColCheck.range[1] + 1 - } - } else { - if (col_s < 0 || x < 0) { - col_s = 0 - } - } - - var col_e = - rangeSplitArray.rowtitle.column[1] - - rangeSplitArray.rowtitle.column[0] + - col_s - - if (col_e >= visibledatacolumn.length - 1 || x > winW) { - col_s = - visibledatacolumn.length - - 1 - - rangeSplitArray.rowtitle.column[1] + - rangeSplitArray.rowtitle.column[0] - col_e = visibledatacolumn.length - 1 - } - - //更新 - if (rangeColCheck.exits) { - chart_json.rangeArray = [ - { row: chart_json.rangeArray[0].row, column: [st_c, col_e] } - ] - chart_json.rangeSplitArray.range = { - row: chart_json.rangeArray[0].row, - column: [st_c, col_e] - } - - chart_json.rangeSplitArray.rowtitle = { - row: chart_json.rangeSplitArray.rowtitle.row, - column: [col_s - st_c, col_e - st_c] - } - chart_json.rangeSplitArray.content = { - row: chart_json.rangeSplitArray.content.row, - column: [col_s - st_c, col_e - st_c] - } - } else { - chart_json.rangeArray = [ - { row: chart_json.rangeArray[0].row, column: [col_s, col_e] } - ] - chart_json.rangeSplitArray.range = { - row: chart_json.rangeArray[0].row, - column: [col_s, col_e] - } - } - } else if ($id == 'luckysheet-chart-rangeShow-coltitle') { - //行 - var row_s = - chart_selection.rangeMoveIndex[0] - - chart_selection.rangeMovexy[0] + - row_index - if (rangeRowCheck.exits) { - if (row_s < st_r + rangeRowCheck.range[1] + 1 || y < 0) { - row_s = st_r + rangeRowCheck.range[1] + 1 - } - } else { - if (row_s < 0 || y < 0) { - row_s = 0 - } - } - - //更新 - var row_e = - rangeSplitArray.coltitle.row[1] - - rangeSplitArray.coltitle.row[0] + - row_s - - if (row_e >= visibledatarow.length - 1 || y > winH) { - row_s = - visibledatarow.length - - 1 - - rangeSplitArray.coltitle.row[1] + - rangeSplitArray.coltitle.row[0] - row_e = visibledatarow.length - 1 - } - - if (rangeRowCheck.exits) { - chart_json.rangeArray = [ - { row: [st_r, row_e], column: chart_json.rangeArray[0].column } - ] - chart_json.rangeSplitArray.range = { - row: [st_r, row_e], - column: chart_json.rangeArray[0].column - } - - chart_json.rangeSplitArray.coltitle = { - row: [row_s - st_r, row_e - st_r], - column: chart_json.rangeSplitArray.coltitle.column - } - chart_json.rangeSplitArray.content = { - row: [row_s - st_r, row_e - st_r], - column: chart_json.rangeSplitArray.content.column - } - } else { - chart_json.rangeArray = [ - { row: [row_s, row_e], column: chart_json.rangeArray[0].column } - ] - chart_json.rangeSplitArray.range = { - row: [row_s, row_e], - column: chart_json.rangeArray[0].column - } - } - } - - //TODO:更新图表rangeArray 和 rangeSplitArray - // store.commit({ - // type: 'updateChartItem', - // key: 'rangeArray', - // value: chart_json.rangeArray, - // chartId: chart_json.chart_id - // }) - // store.commit({ - // type: 'updateChartItem', - // key: 'rangeSplitArray', - // value: chart_json.rangeSplitArray, - // chartId: chart_json.chart_id - // }) - chart_selection.create(chart_json.chart_id) - }, - rangeMoveDragged: function () { - chart_selection.rangeMove = false - - const store = chartInfo.chartStore - var chart_json = $.extend( - true, - {}, - store.state.chartSetting.chartLists[store.state.chartSetting.currentChartIndex].chartOptions - ) - - var updateJson = {} - updateJson.chart_id = chart_json.chart_id - updateJson.rangeTxt = getRangetxt( - chartInfo.currentSheetIndex, - chart_json.rangeArray[0], - chartInfo.currentSheetIndex - ) - updateJson.chartData = getdatabyselection( - chart_json.rangeArray[0], - chartInfo.currentSheetIndex - ) - - // TODO : 从chartMix抛出api调用 - // var $id = chart_selection.rangeMoveObj.attr('id') - // if ( - // $id == 'luckysheet-chart-rangeShow-content' && - // !chart_json.rangeRowCheck.exits && - // !chart_json.rangeColCheck.exits - // ) { - // //rangeMoveDraging中未更新chartData,在此使用新的chartData更新到updateJson - // updateJson.rangeSplitArray = generator.getRangeSplitArray( - // updateJson.chartData, - // chart_json.rangeArray, - // chart_json.rangeColCheck, - // chart_json.rangeRowCheck - // ) - // } else { - // updateJson.rangeSplitArray = chart_json.rangeSplitArray - // } - - // var chartAllTypeArray = chart_json.chartAllType.split('|') - // var chartPro = chartAllTypeArray[0], - // chartType = chartAllTypeArray[1], - // chartStyle = chartAllTypeArray[2] - - // updateJson.chartDataCache = generator.getChartDataCache( - // updateJson.chartData, - // updateJson.rangeSplitArray, - // chartPro, - // chartType, - // chartStyle - // ) - // updateJson.chartDataSeriesOrder = generator.getChartDataSeriesOrder( - // updateJson.chartDataCache.series[0].length - // ) - // // 是否是移动改变图形 - // generator.drag = true - // // 不增加点/线/区域 - // generator.addPoint = false - // generator.addLine = false - // generator.addArea = false - // if (chartType == 'funnel' || chartType == 'gauge') { - // updateJson.defaultOption = generator.addDataToOption1( - // chart_json.defaultOption, - // updateJson.chartDataCache, - // updateJson.chartDataSeriesOrder, - // chartPro, - // chartType, - // chartStyle - // ) - // } else { - // updateJson.defaultOption = generator.addDataToOption( - // chart_json.defaultOption, - // updateJson.chartDataCache, - // updateJson.chartDataSeriesOrder, - // chartPro, - // chartType, - // chartStyle - // ) - // } - - // // console.dir(JSON.stringify(updateJson.defaultOption)) - // generator.patchVueSet(updateJson) - // generator.generateChart( - // updateJson.defaultOption, - // chart_json.chartTheme, - // chart_json.chartAllType, - // $('#' + updateJson.chart_id).get(0) - // ) - }, - rangeResize: false, - rangeResizexy: null, - rangeResizeIndex: null, - rangeResizeObj: null, - rangeResizeDraging: function (event, sheetBarHeight, statisticBarHeight) { - const store = chartInfo.chartStore - var chart_json = $.extend( - true, - {}, - store.state.chartSetting.chartLists[store.state.chartSetting.currentChartIndex].chartOptions - ) - var st_r = chart_json.rangeArray[0].row[0] - var st_c = chart_json.rangeArray[0].column[0] - var rangeRowCheck = chart_json.rangeRowCheck - var rangeColCheck = chart_json.rangeColCheck - var rangeSplitArray = chart_json.rangeSplitArray - - var mouse = mouseposition(event.pageX, event.pageY) - var scrollLeft = $('#luckysheet-cell-main').scrollLeft() - var scrollTop = $('#luckysheet-cell-main').scrollTop() - - var x = mouse[0] + scrollLeft - var y = mouse[1] + scrollTop - - var winH = - $(window).height() + scrollTop - sheetBarHeight - statisticBarHeight, - winW = $(window).width() + scrollLeft - - var rowLocation = rowLocation(y), - row_index = rowLocation[2] - var colLocation = colLocation(x), - col_index = colLocation[2] - - var visibledatarow = getvisibledatarow() - var visibledatacolumn = getvisibledatacolumn() - - var $id = chart_selection.rangeResizeObj.attr('id') - - if ($id == 'luckysheet-chart-rangeShow-content') { - var r1, r2, c1, c2 - - if (chart_selection.rangeResize == 'lt') { - r1 = chart_selection.rangeResizeIndex.row[0] - c1 = chart_selection.rangeResizeIndex.column[0] - - r2 = chart_selection.rangeResizeIndex.row[1] - c2 = chart_selection.rangeResizeIndex.column[1] - } else if (chart_selection.rangeResize == 'lb') { - r1 = chart_selection.rangeResizeIndex.row[1] - c1 = chart_selection.rangeResizeIndex.column[0] - - r2 = chart_selection.rangeResizeIndex.row[0] - c2 = chart_selection.rangeResizeIndex.column[1] - } else if (chart_selection.rangeResize == 'rt') { - r1 = chart_selection.rangeResizeIndex.row[0] - c1 = chart_selection.rangeResizeIndex.column[1] - - r2 = chart_selection.rangeResizeIndex.row[1] - c2 = chart_selection.rangeResizeIndex.column[0] - } else if (chart_selection.rangeResize == 'rb') { - r1 = chart_selection.rangeResizeIndex.row[1] - c1 = chart_selection.rangeResizeIndex.column[1] - - r2 = chart_selection.rangeResizeIndex.row[0] - c2 = chart_selection.rangeResizeIndex.column[0] - } - - //行 - if (rangeRowCheck.exits) { - var row_s = r1 - chart_selection.rangeResizexy[0] + row_index - - if (row_s < st_r + rangeRowCheck.range[1] + 1 || y < 0) { - row_s = st_r + rangeRowCheck.range[1] + 1 - } else if (row_s >= visibledatarow.length - 1 || y > winH) { - row_s = visibledatarow.length - 1 - } - } else { - var row_s = st_r - chart_selection.rangeResizexy[0] + row_index - - if (row_s < 0 || y < 0) { - row_s = 0 - } else if (row_s >= visibledatarow.length - 1 || y > winH) { - row_s = visibledatarow.length - 1 - } - } - - //列 - if (rangeColCheck.exits) { - var col_s = c1 - chart_selection.rangeResizexy[1] + col_index - - if (col_s < st_c + rangeColCheck.range[1] + 1 || x < 0) { - col_s = st_c + rangeColCheck.range[1] + 1 - } else if (col_s >= visibledatacolumn.length - 1 || x > winW) { - col_s = visibledatacolumn.length - 1 - } - } else { - var col_s = st_c - chart_selection.rangeResizexy[1] + col_index - - if (col_s < 0 || x < 0) { - col_s = 0 - } else if (col_s >= visibledatacolumn.length - 1 || x > winW) { - col_s = visibledatacolumn.length - 1 - } - } - - var obj_r1, obj_r2, obj_c1, obj_c2 - - if (row_s > r2) { - obj_r1 = r2 - obj_r2 = row_s - } else { - obj_r1 = row_s - obj_r2 = r2 - } - - if (col_s > c2) { - obj_c1 = c2 - obj_c2 = col_s - } else { - obj_c1 = col_s - obj_c2 = c2 - } - - if (!rangeRowCheck.exits && !rangeColCheck.exits) { - chart_json.rangeArray = [ - { row: [obj_r1, obj_r2], column: [obj_c1, obj_c2] } - ] - chart_json.rangeSplitArray.range = { - row: [obj_r1, obj_r2], - column: [obj_c1, obj_c2] - } - } else { - chart_json.rangeArray = [ - { row: [st_r, obj_r2], column: [st_c, obj_c2] } - ] - chart_json.rangeSplitArray.range = { - row: [st_r, obj_r2], - column: [st_c, obj_c2] - } - - chart_json.rangeSplitArray.content = { - row: [obj_r1 - st_r, obj_r2 - st_r], - column: [obj_c1 - st_c, obj_c2 - st_c] - } - - if (rangeRowCheck.exits) { - chart_json.rangeSplitArray.rowtitle = { - row: chart_json.rangeSplitArray.rowtitle.row, - column: [obj_c1 - st_c, obj_c2 - st_c] - } - } - - if (rangeColCheck.exits) { - chart_json.rangeSplitArray.coltitle = { - row: [obj_r1 - st_r, obj_r2 - st_r], - column: chart_json.rangeSplitArray.coltitle.column - } - } - } - } else if ($id == 'luckysheet-chart-rangeShow-rowtitle') { - var c1, c2 - - if ( - chart_selection.rangeResize == 'lt' || - chart_selection.rangeResize == 'lb' - ) { - c1 = chart_selection.rangeResizeIndex.column[0] - c2 = chart_selection.rangeResizeIndex.column[1] - } else if ( - chart_selection.rangeResize == 'rt' || - chart_selection.rangeResize == 'rb' - ) { - c1 = chart_selection.rangeResizeIndex.column[1] - c2 = chart_selection.rangeResizeIndex.column[0] - } - - //列 - if (rangeColCheck.exits) { - var col_s = c1 - chart_selection.rangeResizexy[1] + col_index - - if (col_s < st_c + rangeColCheck.range[1] + 1 || x < 0) { - col_s = st_c + rangeColCheck.range[1] + 1 - } else if (col_s >= visibledatacolumn.length - 1 || x > winW) { - col_s = visibledatacolumn.length - 1 - } - } else { - var col_s = st_c - chart_selection.rangeResizexy[1] + col_index - - if (col_s < 0 || x < 0) { - col_s = 0 - } else if (col_s >= visibledatacolumn.length - 1 || x > winW) { - col_s = visibledatacolumn.length - 1 - } - } - - var obj_c1, obj_c2 - - if (col_s > c2) { - obj_c1 = c2 - obj_c2 = col_s - } else { - obj_c1 = col_s - obj_c2 = c2 - } - - //更新 - if (!rangeColCheck.exits) { - chart_json.rangeArray = [ - { row: chart_json.rangeArray[0].row, column: [obj_c1, obj_c2] } - ] - chart_json.rangeSplitArray.range = { - row: chart_json.rangeArray[0].row, - column: [obj_c1, obj_c2] - } - } else { - chart_json.rangeArray = [ - { row: chart_json.rangeArray[0].row, column: [st_c, obj_c2] } - ] - chart_json.rangeSplitArray.range = { - row: chart_json.rangeArray[0].row, - column: [st_c, obj_c2] - } - - chart_json.rangeSplitArray.rowtitle = { - row: chart_json.rangeSplitArray.rowtitle.row, - column: [obj_c1 - st_c, obj_c2 - st_c] - } - chart_json.rangeSplitArray.content = { - row: chart_json.rangeSplitArray.content.row, - column: [obj_c1 - st_c, obj_c2 - st_c] - } - } - } else if ($id == 'luckysheet-chart-rangeShow-coltitle') { - var r1, r2 - - if ( - chart_selection.rangeResize == 'lt' || - chart_selection.rangeResize == 'rt' - ) { - r1 = chart_selection.rangeResizeIndex.row[0] - r2 = chart_selection.rangeResizeIndex.row[1] - } else if ( - chart_selection.rangeResize == 'lb' || - chart_selection.rangeResize == 'rb' - ) { - r1 = chart_selection.rangeResizeIndex.row[1] - r2 = chart_selection.rangeResizeIndex.row[0] - } - - //行 - if (rangeRowCheck.exits) { - var row_s = r1 - chart_selection.rangeResizexy[0] + row_index - - if (row_s < st_r + rangeRowCheck.range[1] + 1 || y < 0) { - row_s = st_r + rangeRowCheck.range[1] + 1 - } else if (row_s >= visibledatarow.length - 1 || y > winH) { - row_s = visibledatarow.length - 1 - } - } else { - var row_s = st_r - chart_selection.rangeResizexy[0] + row_index - - if (row_s < 0 || y < 0) { - row_s = 0 - } else if (row_s >= visibledatarow.length - 1 || y > winH) { - row_s = visibledatarow.length - 1 - } - } - - var obj_r1, obj_r2 - - if (row_s > r2) { - obj_r1 = r2 - obj_r2 = row_s - } else { - obj_r1 = row_s - obj_r2 = r2 - } - - //更新 - if (!rangeRowCheck.exits) { - chart_json.rangeArray = [ - { row: [obj_r1, obj_r2], column: chart_json.rangeArray[0].column } - ] - chart_json.rangeSplitArray.range = { - row: [obj_r1, obj_r2], - column: chart_json.rangeArray[0].column - } - } else { - chart_json.rangeArray = [ - { row: [st_r, obj_r2], column: chart_json.rangeArray[0].column } - ] - chart_json.rangeSplitArray.range = { - row: [st_r, obj_r2], - column: chart_json.rangeArray[0].column - } - - chart_json.rangeSplitArray.coltitle = { - row: [obj_r1 - st_r, obj_r2 - st_r], - column: chart_json.rangeSplitArray.coltitle.column - } - chart_json.rangeSplitArray.content = { - row: [obj_r1 - st_r, obj_r2 - st_r], - column: chart_json.rangeSplitArray.content.column - } - } - } - - // //部分更新 TODO - // store.commit({ - // type: 'updateChartItem', - // key: 'rangeArray', - // value: chart_json.rangeArray, - // chartId: chart_json.chart_id - // }) - // store.commit({ - // type: 'updateChartItem', - // key: 'rangeSplitArray', - // value: chart_json.rangeSplitArray, - // chartId: chart_json.chart_id - // }) - chart_selection.create(chart_json.chart_id) - }, - rangeResizeDragged: function () { - chart_selection.rangeResize = null - - const store = chartInfo.chartStore - var chart_json = $.extend( - true, - {}, - store.state.chartSetting.chartLists[store.state.chartSetting.currentChartIndex].chartOptions - ) - - - var updateJson = {} - - updateJson.chart_id = chart_json.chart_id - updateJson.rangeTxt = getRangetxt( - luckysheet.currentSheetIndex, - chart_json.rangeArray[0], - luckysheet.currentSheetIndex - ) - updateJson.chartData = getdatabyselection( - chart_json.rangeArray[0], - luckysheet.currentSheetIndex - ) - - // TODO - // var $id = chart_selection.rangeResizeObj.attr('id') - // if ( - // $id == 'luckysheet-chart-rangeShow-content' && - // !chart_json.rangeRowCheck.exits && - // !chart_json.rangeColCheck.exits - // ) { - // //采用updateJson.chartData - // updateJson.rangeSplitArray = generator.getRangeSplitArray( - // updateJson.chartData, - // chart_json.rangeArray, - // chart_json.rangeColCheck, - // chart_json.rangeRowCheck - // ) - // } else { - // updateJson.rangeSplitArray = chart_json.rangeSplitArray - // } - - // var chartAllTypeArray = chart_json.chartAllType.split('|') - // var chartPro = chartAllTypeArray[0], - // chartType = chartAllTypeArray[1], - // chartStyle = chartAllTypeArray[2] - - // updateJson.chartDataCache = generator.getChartDataCache( - // updateJson.chartData, - // updateJson.rangeSplitArray, - // chartPro, - // chartType, - // chartStyle - // ) - // updateJson.chartDataSeriesOrder = generator.getChartDataSeriesOrder( - // updateJson.chartDataCache.series[0].length - // ) - // if (chartType == 'funnel' || chartType == 'gauge') { - // updateJson.defaultOption = generator.addDataToOption1( - // chart_json.defaultOption, - // updateJson.chartDataCache, - // updateJson.chartDataSeriesOrder, - // chartPro, - // chartType, - // chartStyle - // ) - // } else { - // updateJson.defaultOption = generator.addDataToOption( - // chart_json.defaultOption, - // updateJson.chartDataCache, - // updateJson.chartDataSeriesOrder, - // chartPro, - // chartType, - // chartStyle - // ) - // } - - // generator.patchVueSet(updateJson) - - // generator.generateChart( - // updateJson.defaultOption, - // chart_json.chartTheme, - // chart_json.chartAllType, - // $('#' + updateJson.chart_id).get(0) - // ) - } - } + export { chart, createLuckyChart } \ No newline at end of file