/* * Copyright (c) Baidu, Inc. All Rights Reserved. * * Licensed 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. * * @file comparison 组件 mobile 端 */ import {Component} from 'san'; import type {ComparisonData} from './interface'; import Icon from '@cosui/cosmic/icon'; import Image from '@cosui/cosmic/image'; export default class Comparison extends Component { static trimWhitespace = 'all'; static template = `
{{targets[0].name}}
{{targets[1].name}}
{{item.text}}
{{item.values && item.values[0]}}
{{item.name}}
{{item.values && item.values[1]}}
`; static components = { 'cos-icon': Icon, 'cos-image': Image }; static computed = { computedBars() { const bar = this.data.get('bar'); if (!Array.isArray(bar)) { return []; } return bar.map(val => { val.value = Math.ceil(val.value * 100); return val; }); } }; initData(): ComparisonData { return { linkInfo: {}, delimiter: { icon: 'vs' }, targets: [], bar: [], items: [], _defaultBgColor: [ '#FC3250', '#FFBE0D', '#0335FE' ], _defaultIcon: 'vs' }; } attached(): void { this.fire('render-finished'); } }