/* * 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 searching-outlines 组件 */ import {Component} from 'san'; import Icon from '@cosui/cosmic/icon'; import Image from '@cosui/cosmic/image'; import {isURL} from '@cosui/cosmic/util'; import type {SearchingOutlinesData, SearchingOutlinesEvents} from './interface'; export default class SearchingOutlines extends Component { static trimWhitespace = 'all'; static template = `
{{title.emoji}} {{title.text}}
`; static components = { 'cos-icon': Icon, 'cos-image': Image }; initData(): SearchingOutlinesData { return { title: { icon: '', emoji: '', text: '' }, outlines: [], appearance: 'dashed' }; } isUrl = isURL; getOutlinePrefix(title: string) { return title.slice(0, -1); } getOutlineSuffix(title: string) { return title.slice(-1); } handleLinkClick(event: Event, title: string, index: number, query?: string, subIndex?: number) { const options = { event, title, index, subIndex: subIndex ?? -1 }; query && Object.assign(options, {query}); this.fire('click', options); } }