12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- /*
- * 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.
- */
- var zrUtil = require("zrender/lib/core/util");
- /*
- * 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.
- */
- var DEFAULT_TOOLBOX_BTNS = ['rect', 'polygon', 'keep', 'clear'];
- function _default(option, isNew) {
- var brushComponents = option && option.brush;
- if (!zrUtil.isArray(brushComponents)) {
- brushComponents = brushComponents ? [brushComponents] : [];
- }
- if (!brushComponents.length) {
- return;
- }
- var brushComponentSpecifiedBtns = [];
- zrUtil.each(brushComponents, function (brushOpt) {
- var tbs = brushOpt.hasOwnProperty('toolbox') ? brushOpt.toolbox : [];
- if (tbs instanceof Array) {
- brushComponentSpecifiedBtns = brushComponentSpecifiedBtns.concat(tbs);
- }
- });
- var toolbox = option && option.toolbox;
- if (zrUtil.isArray(toolbox)) {
- toolbox = toolbox[0];
- }
- if (!toolbox) {
- toolbox = {
- feature: {}
- };
- option.toolbox = [toolbox];
- }
- var toolboxFeature = toolbox.feature || (toolbox.feature = {});
- var toolboxBrush = toolboxFeature.brush || (toolboxFeature.brush = {});
- var brushTypes = toolboxBrush.type || (toolboxBrush.type = []);
- brushTypes.push.apply(brushTypes, brushComponentSpecifiedBtns);
- removeDuplicate(brushTypes);
- if (isNew && !brushTypes.length) {
- brushTypes.push.apply(brushTypes, DEFAULT_TOOLBOX_BTNS);
- }
- }
- function removeDuplicate(arr) {
- var map = {};
- zrUtil.each(arr, function (val) {
- map[val] = 1;
- });
- arr.length = 0;
- zrUtil.each(map, function (flag, val) {
- arr.push(val);
- });
- }
- module.exports = _default;
|