|  | /* | 
|  | * Licensed to the Apache Software Foundation (ASF) under one | 
|  | * or more contributor license agreements.  See the NOTICE file | 
|  | * distributed with this work for additional information | 
|  | * regarding copyright ownership.  The ASF licenses this file | 
|  | * to you under the Apache License, Version 2.0 (the | 
|  | * "License"); you may not use this file except in compliance | 
|  | * with the License.  You may obtain a copy of the License at | 
|  | * | 
|  | *   http://www.apache.org/licenses/LICENSE-2.0 | 
|  | * | 
|  | * Unless required by applicable law or agreed to in writing, | 
|  | * software distributed under the License is distributed on an | 
|  | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | 
|  | * KIND, either express or implied.  See the License for the | 
|  | * specific language governing permissions and limitations | 
|  | * under the License. | 
|  | */ | 
|  |  | 
|  | import * as zrUtil from 'zrender/src/core/util'; | 
|  | import { AxisBaseOption } from './axisCommonTypes'; | 
|  |  | 
|  |  | 
|  | const defaultOption: AxisBaseOption = { | 
|  | show: true, | 
|  | // zlevel: 0, | 
|  | z: 0, | 
|  | // Inverse the axis. | 
|  | inverse: false, | 
|  |  | 
|  | // Axis name displayed. | 
|  | name: '', | 
|  | // 'start' | 'middle' | 'end' | 
|  | nameLocation: 'end', | 
|  | // By degree. By default auto rotate by nameLocation. | 
|  | nameRotate: null, | 
|  | nameTruncate: { | 
|  | maxWidth: null, | 
|  | ellipsis: '...', | 
|  | placeholder: '.' | 
|  | }, | 
|  | // Use global text style by default. | 
|  | nameTextStyle: {}, | 
|  | // The gap between axisName and axisLine. | 
|  | nameGap: 15, | 
|  |  | 
|  | // Default `false` to support tooltip. | 
|  | silent: false, | 
|  | // Default `false` to avoid legacy user event listener fail. | 
|  | triggerEvent: false, | 
|  |  | 
|  | tooltip: { | 
|  | show: false | 
|  | }, | 
|  |  | 
|  | axisPointer: {}, | 
|  |  | 
|  | axisLine: { | 
|  | show: true, | 
|  | onZero: true, | 
|  | onZeroAxisIndex: null, | 
|  | lineStyle: { | 
|  | color: '#6E7079', | 
|  | width: 1, | 
|  | type: 'solid' | 
|  | }, | 
|  | // The arrow at both ends the the axis. | 
|  | symbol: ['none', 'none'], | 
|  | symbolSize: [10, 15] | 
|  | }, | 
|  | axisTick: { | 
|  | show: true, | 
|  | // Whether axisTick is inside the grid or outside the grid. | 
|  | inside: false, | 
|  | // The length of axisTick. | 
|  | length: 5, | 
|  | lineStyle: { | 
|  | width: 1 | 
|  | } | 
|  | }, | 
|  | axisLabel: { | 
|  | show: true, | 
|  | // Whether axisLabel is inside the grid or outside the grid. | 
|  | inside: false, | 
|  | rotate: 0, | 
|  | // true | false | null/undefined (auto) | 
|  | showMinLabel: null, | 
|  | // true | false | null/undefined (auto) | 
|  | showMaxLabel: null, | 
|  | margin: 8, | 
|  | // formatter: null, | 
|  | fontSize: 12 | 
|  | }, | 
|  | splitLine: { | 
|  | show: true, | 
|  | lineStyle: { | 
|  | color: ['#E0E6F1'], | 
|  | width: 1, | 
|  | type: 'solid' | 
|  | } | 
|  | }, | 
|  | splitArea: { | 
|  | show: false, | 
|  | areaStyle: { | 
|  | color: ['rgba(250,250,250,0.2)', 'rgba(210,219,238,0.2)'] | 
|  | } | 
|  | } | 
|  | }; | 
|  |  | 
|  |  | 
|  | const categoryAxis: AxisBaseOption = zrUtil.merge({ | 
|  | // The gap at both ends of the axis. For categoryAxis, boolean. | 
|  | boundaryGap: true, | 
|  | // Set false to faster category collection. | 
|  | deduplication: null, | 
|  | // splitArea: { | 
|  | // show: false | 
|  | // }, | 
|  | splitLine: { | 
|  | show: false | 
|  | }, | 
|  | axisTick: { | 
|  | // If tick is align with label when boundaryGap is true | 
|  | alignWithLabel: false, | 
|  | interval: 'auto' | 
|  | }, | 
|  | axisLabel: { | 
|  | interval: 'auto' | 
|  | } | 
|  | }, defaultOption); | 
|  |  | 
|  | const valueAxis: AxisBaseOption = zrUtil.merge({ | 
|  | boundaryGap: [0, 0], | 
|  |  | 
|  | axisLine: { | 
|  | // Not shown when other axis is categoryAxis in cartesian | 
|  | show: 'auto' | 
|  | }, | 
|  | axisTick: { | 
|  | // Not shown when other axis is categoryAxis in cartesian | 
|  | show: 'auto' | 
|  | }, | 
|  |  | 
|  | // TODO | 
|  | // min/max: [30, datamin, 60] or [20, datamin] or [datamin, 60] | 
|  |  | 
|  | splitNumber: 5, | 
|  |  | 
|  | minorTick: { | 
|  | // Minor tick, not available for cateogry axis. | 
|  | show: false, | 
|  | // Split number of minor ticks. The value should be in range of (0, 100) | 
|  | splitNumber: 5, | 
|  | // Length of minor tick | 
|  | length: 3, | 
|  |  | 
|  | // Line style | 
|  | lineStyle: { | 
|  | // Default to be same with axisTick | 
|  | } | 
|  | }, | 
|  |  | 
|  | minorSplitLine: { | 
|  | show: false, | 
|  |  | 
|  | lineStyle: { | 
|  | color: '#F4F7FD', | 
|  | width: 1 | 
|  | } | 
|  | } | 
|  | }, defaultOption); | 
|  |  | 
|  | const timeAxis: AxisBaseOption = zrUtil.merge({ | 
|  | splitNumber: 6, | 
|  | axisLabel: { | 
|  | // To eliminate labels that are not nice | 
|  | showMinLabel: false, | 
|  | showMaxLabel: false, | 
|  | rich: { | 
|  | primary: { | 
|  | fontWeight: 'bold' | 
|  | } | 
|  | } | 
|  | }, | 
|  | splitLine: { | 
|  | show: false | 
|  | } | 
|  | }, valueAxis); | 
|  |  | 
|  | const logAxis: AxisBaseOption = zrUtil.defaults({ | 
|  | logBase: 10 | 
|  | }, valueAxis); | 
|  |  | 
|  |  | 
|  | export default { | 
|  | category: categoryAxis, | 
|  | value: valueAxis, | 
|  | time: timeAxis, | 
|  | log: logAxis | 
|  | }; |