/* * 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. */ import {Component} from 'san'; import Tag from '@cosui/cosmic/tag'; import Image from '@cosui/cosmic/image'; import Button from '@cosui/cosmic/button'; import type {OfficialCardData, OfficialCardEvents} from './interface'; export default class Overlay extends Component { static template = `
{{showTag}}
{{title}}
{{website}}
{{score}}
{{introduction}}
{{caption}}
{{actionText}}
{{caption}}
{{setting.text}}
{{caption}}
{{setting.text}}
`; static components = { 'cos-image': Image, 'cos-button': Button, 'cos-tag': Tag }; static computed = { showTag(this: Overlay) { const tag = this.data.get('tag'); if (Array.isArray(tag) && tag?.length > 0) { return tag[0]; } return tag; } }; initData(): OfficialCardData { return { appearance: '', poster: { src: '' }, linkInfo: null, tag: '', logo: '', title: '', actionText: '', actionLinkInfo: null, website: '', score: '', introduction: '', caption: '', settings: [] }; } handleBtnClick(event: Event) { this.data.get('actionLinkInfo') && event.stopPropagation(); this.fire('button-click', { event }); } handleSettingClick(setting: any, event: Event) { setting.linkInfo && event.stopPropagation(); } }