| 
/* 
 | 
* 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. 
 | 
*/ 
 | 
  
 | 
  
 | 
/** 
 | 
 * AUTO-GENERATED FILE. DO NOT MODIFY. 
 | 
 */ 
 | 
  
 | 
/* 
 | 
* 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 { __extends } from "tslib"; 
 | 
import * as zrUtil from 'zrender/lib/core/util.js'; 
 | 
import ComponentModel from '../../model/Component.js'; 
 | 
import { getLayoutParams, sizeCalculable, mergeLayoutParam } from '../../util/layout.js'; 
 | 
var CalendarModel = /** @class */function (_super) { 
 | 
  __extends(CalendarModel, _super); 
 | 
  function CalendarModel() { 
 | 
    var _this = _super !== null && _super.apply(this, arguments) || this; 
 | 
    _this.type = CalendarModel.type; 
 | 
    return _this; 
 | 
  } 
 | 
  /** 
 | 
   * @override 
 | 
   */ 
 | 
  CalendarModel.prototype.init = function (option, parentModel, ecModel) { 
 | 
    var inputPositionParams = getLayoutParams(option); 
 | 
    _super.prototype.init.apply(this, arguments); 
 | 
    mergeAndNormalizeLayoutParams(option, inputPositionParams); 
 | 
  }; 
 | 
  /** 
 | 
   * @override 
 | 
   */ 
 | 
  CalendarModel.prototype.mergeOption = function (option) { 
 | 
    _super.prototype.mergeOption.apply(this, arguments); 
 | 
    mergeAndNormalizeLayoutParams(this.option, option); 
 | 
  }; 
 | 
  CalendarModel.prototype.getCellSize = function () { 
 | 
    // Has been normalized 
 | 
    return this.option.cellSize; 
 | 
  }; 
 | 
  CalendarModel.type = 'calendar'; 
 | 
  CalendarModel.defaultOption = { 
 | 
    // zlevel: 0, 
 | 
    z: 2, 
 | 
    left: 80, 
 | 
    top: 60, 
 | 
    cellSize: 20, 
 | 
    // horizontal vertical 
 | 
    orient: 'horizontal', 
 | 
    // month separate line style 
 | 
    splitLine: { 
 | 
      show: true, 
 | 
      lineStyle: { 
 | 
        color: '#000', 
 | 
        width: 1, 
 | 
        type: 'solid' 
 | 
      } 
 | 
    }, 
 | 
    // rect style  temporarily unused emphasis 
 | 
    itemStyle: { 
 | 
      color: '#fff', 
 | 
      borderWidth: 1, 
 | 
      borderColor: '#ccc' 
 | 
    }, 
 | 
    // week text style 
 | 
    dayLabel: { 
 | 
      show: true, 
 | 
      firstDay: 0, 
 | 
      // start end 
 | 
      position: 'start', 
 | 
      margin: '50%', 
 | 
      color: '#000' 
 | 
    }, 
 | 
    // month text style 
 | 
    monthLabel: { 
 | 
      show: true, 
 | 
      // start end 
 | 
      position: 'start', 
 | 
      margin: 5, 
 | 
      // center or left 
 | 
      align: 'center', 
 | 
      formatter: null, 
 | 
      color: '#000' 
 | 
    }, 
 | 
    // year text style 
 | 
    yearLabel: { 
 | 
      show: true, 
 | 
      // top bottom left right 
 | 
      position: null, 
 | 
      margin: 30, 
 | 
      formatter: null, 
 | 
      color: '#ccc', 
 | 
      fontFamily: 'sans-serif', 
 | 
      fontWeight: 'bolder', 
 | 
      fontSize: 20 
 | 
    } 
 | 
  }; 
 | 
  return CalendarModel; 
 | 
}(ComponentModel); 
 | 
function mergeAndNormalizeLayoutParams(target, raw) { 
 | 
  // Normalize cellSize 
 | 
  var cellSize = target.cellSize; 
 | 
  var cellSizeArr; 
 | 
  if (!zrUtil.isArray(cellSize)) { 
 | 
    cellSizeArr = target.cellSize = [cellSize, cellSize]; 
 | 
  } else { 
 | 
    cellSizeArr = cellSize; 
 | 
  } 
 | 
  if (cellSizeArr.length === 1) { 
 | 
    cellSizeArr[1] = cellSizeArr[0]; 
 | 
  } 
 | 
  var ignoreSize = zrUtil.map([0, 1], function (hvIdx) { 
 | 
    // If user have set `width` or both `left` and `right`, cellSizeArr 
 | 
    // will be automatically set to 'auto', otherwise the default 
 | 
    // setting of cellSizeArr will make `width` setting not work. 
 | 
    if (sizeCalculable(raw, hvIdx)) { 
 | 
      cellSizeArr[hvIdx] = 'auto'; 
 | 
    } 
 | 
    return cellSizeArr[hvIdx] != null && cellSizeArr[hvIdx] !== 'auto'; 
 | 
  }); 
 | 
  mergeLayoutParam(target, raw, { 
 | 
    type: 'box', 
 | 
    ignoreSize: ignoreSize 
 | 
  }); 
 | 
} 
 | 
export default CalendarModel; 
 |