Commit 3959cc596a193b1ceb9d0a359b83018ff1124ca1
1 parent
97e2aed5
perf: add save button && hidden cell tooltip
Showing
3 changed files
with
67 additions
and
21 deletions
... | ... | @@ -258,7 +258,9 @@ App.DROPBOX_URL = window.DRAWIO_BASE_URL + '/thingskit-drawio/js/dropbox/Dropbox |
258 | 258 | /** |
259 | 259 | * Sets URL to load the Dropbox dropins JS from. |
260 | 260 | */ |
261 | -App.DROPINS_URL = 'https://www.dropbox.com/static/api/2/dropins.js'; | |
261 | +// App.DROPINS_URL = 'https://www.dropbox.com/static/api/2/dropins.js'; | |
262 | +// TODO thingsKit | |
263 | +App.DROPINS_URL = ''; | |
262 | 264 | |
263 | 265 | /** |
264 | 266 | * OneDrive Client JS (file/folder picker). This is a slightly modified version to allow using accessTokens |
... | ... | @@ -5859,6 +5861,29 @@ App.prototype.updateButtonContainer = function() |
5859 | 5861 | })); |
5860 | 5862 | this.buttonContainer.appendChild(this.shareButton); |
5861 | 5863 | |
5864 | + // TODO thingsKit 保存按钮 | |
5865 | + this.saveButton = document.createElement('div'); | |
5866 | + this.saveButton.className = 'geBtn gePrimaryBtn'; | |
5867 | + this.saveButton.style.display = 'inline-block'; | |
5868 | + this.saveButton.style.backgroundColor = '#F2931E'; | |
5869 | + this.saveButton.style.borderColor = '#F08705'; | |
5870 | + this.saveButton.style.backgroundImage = 'none'; | |
5871 | + this.saveButton.style.marginTop = '-10px'; | |
5872 | + this.saveButton.style.lineHeight = '28px'; | |
5873 | + this.saveButton.style.minWidth = '0px'; | |
5874 | + this.saveButton.style.cssFloat = 'right'; | |
5875 | + this.saveButton.setAttribute('title', '保存'); | |
5876 | + mxUtils.write(this.saveButton, '保存'); | |
5877 | + mxEvent.addListener(this.saveButton, 'click', mxUtils.bind(this, function() | |
5878 | + { | |
5879 | + this.currentFile.ui.actions.get( | |
5880 | + (this.currentFile.mode == null || !this.currentFile.isEditable()) | |
5881 | + ? 'saveAs' | |
5882 | + : 'save') | |
5883 | + .funct(); | |
5884 | + })); | |
5885 | + this.buttonContainer.appendChild(this.saveButton); | |
5886 | + | |
5862 | 5887 | |
5863 | 5888 | // this.shareButton = document.createElement('div'); |
5864 | 5889 | // this.shareButton.className = 'geBtn gePrimaryBtn'; |
... | ... | @@ -5901,6 +5926,8 @@ App.prototype.updateButtonContainer = function() |
5901 | 5926 | { |
5902 | 5927 | this.shareButton.parentNode.removeChild(this.shareButton); |
5903 | 5928 | this.shareButton = null; |
5929 | + this.saveButton.parentNode.removeChild(this.saveButton); | |
5930 | + this.saveButton = null; | |
5904 | 5931 | } |
5905 | 5932 | |
5906 | 5933 | //Fetch notifications | ... | ... |
... | ... | @@ -350,34 +350,52 @@ |
350 | 350 | } |
351 | 351 | |
352 | 352 | /** |
353 | + * @description 实例化echarts | |
354 | + * @param graph | |
355 | + */ | |
356 | + Sidebar.prototype.initChartInstance = function (graph) { | |
357 | + const enumConst = Sidebar.prototype.enumConst | |
358 | + const allCell = graph.getDefaultParent().children | |
359 | + const domIdMapping = new Map() | |
360 | + for (const cell of allCell) { | |
361 | + const chartInstanceId = graph.getAttributeForCell(cell, enumConst.CHART_CELL_ID) | |
362 | + if (Sidebar.prototype.isChartCell(cell) && chartInstanceId) { | |
363 | + const width = graph.getAttributeForCell(cell, enumConst.CHART_CELL_WIDTH) | |
364 | + const height = graph.getAttributeForCell(cell, enumConst.CHART_CELL_HEIGHT) | |
365 | + const chartType = graph.getAttributeForCell(cell, enumConst.CHART_TYPE_KEY) | |
366 | + domIdMapping.set(chartInstanceId, { width, height, chartType }) | |
367 | + } | |
368 | + } | |
369 | + const chartsDomList = document.querySelectorAll(`.${ enumConst.CHART_CONTAINER_CLS }`) | |
370 | + for (const chartDom of chartsDomList) { | |
371 | + const id = chartDom.getAttribute('id') | |
372 | + const { width, height, chartType } = domIdMapping.get(id) | |
373 | + Sidebar.prototype.generatorEChartInstance(id, width, height, chartType) | |
374 | + } | |
375 | + } | |
376 | + | |
377 | + /** | |
353 | 378 | * @description 初始化图表 |
354 | 379 | */ |
355 | 380 | const openFileHandle = EditorUi.prototype.openFileHandle |
356 | 381 | EditorUi.prototype.openFileHandle = function () { |
357 | - const graph = this.editor.graph | |
358 | - const enumConst = Sidebar.prototype.enumConst | |
359 | 382 | try { |
360 | 383 | openFileHandle.apply(this, arguments) |
361 | 384 | } finally { |
362 | - const allCell = graph.getDefaultParent().children | |
363 | - const domIdMapping = new Map() | |
364 | - for (const cell of allCell) { | |
365 | - const chartInstanceId = graph.getAttributeForCell(cell, enumConst.CHART_CELL_ID) | |
366 | - if (Sidebar.prototype.isChartCell(cell) && chartInstanceId) { | |
367 | - const width = graph.getAttributeForCell(cell, enumConst.CHART_CELL_WIDTH) | |
368 | - const height = graph.getAttributeForCell(cell, enumConst.CHART_CELL_HEIGHT) | |
369 | - const chartType = graph.getAttributeForCell(cell, enumConst.CHART_TYPE_KEY) | |
370 | - domIdMapping.set(chartInstanceId, { width, height, chartType }) | |
371 | - } | |
372 | - } | |
373 | - const chartsDomList = document.querySelectorAll(`.${ enumConst.CHART_CONTAINER_CLS }`) | |
374 | - for (const chartDom of chartsDomList) { | |
375 | - const id = chartDom.getAttribute('id') | |
376 | - const { width, height, chartType } = domIdMapping.get(id) | |
377 | - Sidebar.prototype.generatorEChartInstance(id, width, height, chartType) | |
378 | - } | |
385 | + const graph = this.editor.graph | |
386 | + Sidebar.prototype.initChartInstance(graph) | |
379 | 387 | } |
380 | 388 | } |
381 | 389 | |
390 | + /** | |
391 | + * @description 实例化 echarts | |
392 | + */ | |
393 | + const refresh = Graph.prototype.refresh | |
394 | + Graph.prototype.refresh = function () { | |
395 | + refresh.apply(this, arguments) | |
396 | + if (!arguments.length) { | |
397 | + Sidebar.prototype.initChartInstance(this) | |
398 | + } | |
399 | + } | |
382 | 400 | })(); |
383 | 401 | ... | ... |
... | ... | @@ -1051,7 +1051,8 @@ Graph = function(container, model, renderHint, stylesheet, themes, standalone) |
1051 | 1051 | var tooltipHandlerShow = this.tooltipHandler.show; |
1052 | 1052 | this.tooltipHandler.show = function() |
1053 | 1053 | { |
1054 | - tooltipHandlerShow.apply(this, arguments); | |
1054 | + // TODO thingsKit hidde cell tooltip | |
1055 | + // tooltipHandlerShow.apply(this, arguments); | |
1055 | 1056 | |
1056 | 1057 | if (this.div != null) |
1057 | 1058 | { | ... | ... |