| 1807 | } |
| 1808 | |
| 1809 | function addAxRangeSequence(seq, rangesAltered) { |
| 1810 | // N.B. leave as sequence of subroutines (for now) instead of |
| 1811 | // subroutine of its own so that finalDraw always gets |
| 1812 | // executed after drawData |
| 1813 | var drawAxes = rangesAltered |
| 1814 | ? function (gd) { |
| 1815 | var axIds = []; |
| 1816 | var skipTitle = true; |
| 1817 | |
| 1818 | for (var id in rangesAltered) { |
| 1819 | var ax = Axes.getFromId(gd, id); |
| 1820 | axIds.push(id); |
| 1821 | |
| 1822 | if ((ax.ticklabelposition || '').indexOf('inside') !== -1) { |
| 1823 | if (ax._anchorAxis) { |
| 1824 | axIds.push(ax._anchorAxis._id); |
| 1825 | } |
| 1826 | } |
| 1827 | |
| 1828 | if (ax._matchGroup) { |
| 1829 | for (var id2 in ax._matchGroup) { |
| 1830 | if (!rangesAltered[id2]) { |
| 1831 | axIds.push(id2); |
| 1832 | } |
| 1833 | } |
| 1834 | } |
| 1835 | } |
| 1836 | |
| 1837 | return Axes.draw(gd, axIds, { skipTitle: skipTitle }); |
| 1838 | } |
| 1839 | : function (gd) { |
| 1840 | return Axes.draw(gd, 'redraw'); |
| 1841 | }; |
| 1842 | |
| 1843 | seq.push( |
| 1844 | clearOutline, |
| 1845 | subroutines.doAutoRangeAndConstraints, |
| 1846 | drawAxes, |
| 1847 | subroutines.drawData, |
| 1848 | subroutines.finalDraw |
| 1849 | ); |
| 1850 | } |
| 1851 | |
| 1852 | var AX_RANGE_RE = /^[xyz]axis[0-9]*\.range(\[[0|1]\])?$/; |
| 1853 | var AX_AUTORANGE_RE = /^[xyz]axis[0-9]*\.autorange$/; |