diff --git a/plugin.xml b/plugin.xml index f0c925a..fc3cccc 100644 --- a/plugin.xml +++ b/plugin.xml @@ -3,7 +3,7 @@ com.finebi.plugin.tptj.ivan.chart.demo.amap yes - 0.0.5 + 0.0.6 11.0~11.0 2021-08-30 DEMO @@ -14,6 +14,7 @@ 0.0.3: 图表DEMO_EK 页面刷新接口
0.0.4: 图表DEMO_EK 保存配置接口
0.0.5: 图表DEMO_EK Click联动
+ 0.0.6: 图表DEMO_EK dimensionSelected、pointSelected联动
]]> 6.0~ com.finebi.plugin.tptj.ivan.chart.demo.amap diff --git a/src/main/resources/com/finebi/plugin/tptj/ivan/chart/demo/amap/js/chart.js b/src/main/resources/com/finebi/plugin/tptj/ivan/chart/demo/amap/js/chart.js index c9d807d..fc13a5d 100644 --- a/src/main/resources/com/finebi/plugin/tptj/ivan/chart/demo/amap/js/chart.js +++ b/src/main/resources/com/finebi/plugin/tptj/ivan/chart/demo/amap/js/chart.js @@ -145,39 +145,79 @@ context.marker.setContent(content) context.marker.setOffset(offset) let datum = context.data[0]; - let id = datum.idId; - const val = [ - { - dId: datum.idId, - text: datum.idVal, - }, - // { - // dId: datum.lngId, - // text: datum.lngVal, - // }, - // { - // dId: datum.latId, - // text: datum.latVal, - // } - ]; - - /** - * dId: 当前维度的Id - * value: 当前维度和之前维度的id及对应值 (不是全部的维度信息!) - */ + // let id = datum.idId; + // const val = [ + // { + // dId: datum.idId, + // text: datum.idVal, + // }, + // { + // dId: datum.lngId, + // text: datum.lngVal, + // }, + // { + // dId: datum.latId, + // text: datum.latVal, + // } + // ]; + + // /** + // * dId: 当前维度的Id + // * value: 当前维度和之前维度的id及对应值 (不是全部的维度信息!) + // */ + // const currentClicked = { + // dId: id, + // value: val + // }; + + // context.marker.on('click', ev => { + // debugger; + // // 触发联动 + // extensionCallBack( + // 'click', + // currentClicked + // ); + // }); + const currentClicked = { - dId: id, - value: val + [datum.idId]: datum.idVal, + [datum.lngId]: datum.lngVal, + [datum.latId]: datum.latVal }; + const currentId = datum.lngId context.marker.on('click', ev => { debugger; // 触发联动 - extensionCallBack( - 'click', - currentClicked - ); - }) + const demo = { + pos: { + x: window.event.pageX, + y: window.event.pageY, + }, + // 点击指标的维度id + measure: currentId, + // 点击指标所在行的各个字段值,包括指标和维度 + // id: 字段值 + row: currentClicked, + }; + // 点击指标事件(数据栏里是指标【绿色的】使用该方法) + // extensionCallBack("pointSelected", demo); + // 点击维度事件(数据栏里是维度【蓝色的】使用该方法) + // extensionCallBack("dimensionSelected", demo); + for (let i = 0; i < data.dataModels[0].fields.length; i++) { + let field = data.dataModels[0].fields[i]; + if (field.id === currentId) { + // 这里判断用户的数据栏里是维度还是指标 具体逻辑可以自行修改 + if (field.isDimension) { + extensionCallBack("dimensionSelected", demo); + } else if (field.isMeasure) { + extensionCallBack("pointSelected", demo); + } + break; + } + } + }); + } } diff --git a/说明/0.0.6/0.0.6.zip b/说明/0.0.6/0.0.6.zip new file mode 100644 index 0000000..2490987 Binary files /dev/null and b/说明/0.0.6/0.0.6.zip differ diff --git a/说明/0.0.6/fine-plugin-com.finebi.plugin.tptj.ivan.chart.demo.amap-0.0.6.zip b/说明/0.0.6/fine-plugin-com.finebi.plugin.tptj.ivan.chart.demo.amap-0.0.6.zip new file mode 100644 index 0000000..b0b1fbc Binary files /dev/null and b/说明/0.0.6/fine-plugin-com.finebi.plugin.tptj.ivan.chart.demo.amap-0.0.6.zip differ