@ant-design/icons#StarOutlined JavaScript Examples
The following examples show how to use
@ant-design/icons#StarOutlined.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: upload-custom-action-icon.jsx From virtuoso-design-system with MIT License | 6 votes |
props = {
action: 'https://www.mocky.io/v2/5cc8019d300000980a055e76',
onChange({ file, fileList }) {
if (file.status !== 'uploading') {
console.log(file, fileList);
}
},
defaultFileList: [
{
uid: '1',
name: 'xxx.png',
status: 'done',
response: 'Server Error 500', // custom error message to show
url: 'http://www.baidu.com/xxx.png',
},
{
uid: '2',
name: 'yyy.png',
status: 'done',
url: 'http://www.baidu.com/yyy.png',
},
{
uid: '3',
name: 'zzz.png',
status: 'error',
response: 'Server Error 500', // custom error message to show
url: 'http://www.baidu.com/zzz.png',
},
],
showUploadList: {
showDownloadIcon: true,
downloadIcon: 'download ',
showRemoveIcon: true,
removeIcon: <StarOutlined onClick={e => console.log(e, 'custom removeIcon event')} />,
},
}
Example #2
Source File: menu.jsx From react-visual-modeling with MIT License | 5 votes |
actionMenu = ({
onAddEdge,
onDelEdge,
onSetGridMode
}) => [
{
key: 'zoom-in',
disable: true
},
{
icon: <StarOutlined />,
key: 'star',
onClick: () => {
alert('点击收藏!')
}
},
{
icon: <PlusOutlined />,
key: 'plus',
title: '添加一条连线',
onClick: () => {
onAddEdge();
}
},
{
icon: <MinusOutlined />,
key: 'minus',
title: '删除一条连线',
onClick: () => {
onDelEdge();
}
},
{
icon: <GatewayOutlined />,
title: '框选',
key: 'select',
onClick: () => {
onSetGridMode();
}
}
]
Example #3
Source File: Rating.js From label-studio-frontend with Apache License 2.0 | 5 votes |
HtxRating = inject("store")(
observer(({ item, store }) => {
let iconSize;
if (item.size === "small") {
iconSize = 15;
} else if (item.size === "medium") {
iconSize = 25;
} else if (item.size === "large") {
iconSize = 40;
}
const visibleStyle = item.perRegionVisible() ? {} : { display: "none" };
// rc-rate component listens for keypress event and hit the star if the key is Enter
// but it doesn't check for any modifiers, so it removes star during submit (ctrl+enter)
// so we'll just remove focus from component at the moment any modifier pressed
const dontBreakSubmit = e => {
if (e.ctrlKey || e.metaKey || e.altKey || e.shiftKey) {
// should be a star, because that's the only way this event can happen
const star = document.activeElement;
const control = e.currentTarget;
// but we'll check that for sure
if (control.contains(star)) star.blur();
}
};
return (
<div style={visibleStyle} onKeyDownCapture={dontBreakSubmit}>
<Rate
character={<StarOutlined style={{ fontSize: iconSize }} />}
value={item.rating}
count={Number(item.maxrating)}
defaultValue={Number(item.defaultvalue)}
onChange={item.setRating}
/>
{store.settings.enableTooltips && store.settings.enableHotkeys && item.hotkey && (
<sup style={{ fontSize: "9px" }}>[{item.hotkey}]</sup>
)}
</div>
);
}),
)
Example #4
Source File: index.js From ant-simple-pro with MIT License | 5 votes |
Globalization = memo(function Globalization(props) {
const { t, i18n } = useTranslation();
let listData = [];
for (let i = 0; i < 3; i++) {
listData.push({
index: i,
title: `Ant Simple Pro`,
avatar: <SvgIcon iconClass='logon' fontSize='30px' />,
description: t('description'),
content: t('content')
});
}
const IconText = ({ icon, text }) => (
<Space>
{React.createElement(icon)}
{text}
</Space>
);
const change = (val) => {
const lang = val.target.value;
i18n.changeLanguage(lang);
}
return (
<div className='bgW padding-10px'>
<div>
<Radio.Group defaultValue="en" buttonStyle="solid" onChange={change}>
<Radio.Button value="en">英文</Radio.Button>
<Radio.Button value="zh">中文</Radio.Button>
<Radio.Button value="ja">日文</Radio.Button>
</Radio.Group>
<a href="https://react.i18next.com/" style={{ padding: '0 10px' }} target='_blank'>了解过多react-i18next信息</a>
</div>
<List
itemLayout="vertical"
size="large"
dataSource={listData}
renderItem={item => (
<List.Item
key={item.index}
actions={[
<IconText icon={StarOutlined} text="156" key="list-vertical-star-o" />,
<IconText icon={LikeOutlined} text="156" key="list-vertical-like-o" />,
<IconText icon={MessageOutlined} text="2" key="list-vertical-message" />,
]}
extra={
<img
width={272}
alt="logo"
src="https://gw.alipayobjects.com/zos/rmsportal/mqaQswcyDLcXyDKnZfES.png"
/>
}
>
<List.Item.Meta
avatar={item.avatar}
title={<a href={item.href}>{item.title}</a>}
description={item.description}
/>
{item.content}
</List.Item>
)}
/>
</div>
)
})
Example #5
Source File: vertical.jsx From virtuoso-design-system with MIT License | 5 votes |
storiesOf('antd/list', module).add('vertical', () =>
<List
itemLayout="vertical"
size="large"
pagination={{
onChange: page => {
console.log(page);
},
pageSize: 3,
}}
dataSource={listData}
footer={
<div>
<b>ant design</b> footer part
</div>
}
renderItem={item => (
<List.Item
key={item.title}
actions={[
<IconText icon={StarOutlined} text="156" key="list-vertical-star-o" />,
<IconText icon={LikeOutlined} text="156" key="list-vertical-like-o" />,
<IconText icon={MessageOutlined} text="2" key="list-vertical-message" />,
]}
extra={
<img
width={272}
alt="logo"
src="https://gw.alipayobjects.com/zos/rmsportal/mqaQswcyDLcXyDKnZfES.png"
/>
}
>
<List.Item.Meta
avatar={<Avatar src={item.avatar} />}
title={<a href={item.href}>{item.title}</a>}
description={item.description}
/>
{item.content}
</List.Item>
)}
/>,
{ docs: { page: () => (<><h1 id="enus">en-US</h1>
<p>Set the <code>itemLayout</code> property to <code>vertical</code> to create a vertical list.</p></>) } });
Example #6
Source File: list.jsx From virtuoso-design-system with MIT License | 5 votes |
render() {
const { loading } = this.state;
return (
<>
<Switch checked={!loading} onChange={this.onChange} />
<List
itemLayout="vertical"
size="large"
dataSource={listData}
renderItem={item => (
<List.Item
key={item.title}
actions={
!loading && [
<IconText icon={StarOutlined} text="156" key="list-vertical-star-o" />,
<IconText icon={LikeOutlined} text="156" key="list-vertical-like-o" />,
<IconText icon={MessageOutlined} text="2" key="list-vertical-message" />,
]
}
extra={
!loading && (
<img
width={272}
alt="logo"
src="https://gw.alipayobjects.com/zos/rmsportal/mqaQswcyDLcXyDKnZfES.png"
/>
)
}
>
<Skeleton loading={loading} active avatar>
<List.Item.Meta
avatar={<Avatar src={item.avatar} />}
title={<a href={item.href}>{item.title}</a>}
description={item.description}
/>
{item.content}
</Skeleton>
</List.Item>
)}
/>
</>
);
}
Example #7
Source File: ProjectWorkspace.jsx From node-project-manager with Apache License 2.0 | 4 votes |
ProjectWorkspace = ({ project,projects,selectedProject,createProject }) => {
const [ showNewProject, setShowNewProject ] = useState(true);
const [ newProject, setNewProject ] = useState({name:"",user:""});
const addProject = async (values) => {
const result = await Http.post(values,'/api/projects/createProject');
if(result){
console.log(result);
createProject(result);
selectedProject(result.id);
///TODO
//createUser(result);
}
}
useEffect(()=> {
setShowNewProject(true);
},[project]);
return (
(project.id === "add") ? <Modal
visible={showNewProject}
title="Crear Proyecto"
destroyOnClose={true}
onCancel={()=> {setShowNewProject(!showNewProject);selectedProject(projects[1].id)}}
onOk={()=>{addProject(newProject)}}
okText="Nuevo Proyecto"
cancelText="Cancelar"
>
<Form>
<Form.Item
label="Nombre del Proyecto"
name="name"
rules={[{ required: true, message: 'Pon un nombre al proyecto' }]}
>
<Input onChange={(e)=>{
setNewProject({...newProject,[e.target.id]:e.target.value})
}}/>
</Form.Item>
<Form.Item
label="Creador como alumno del proyecto"
name="user"
rules={[{ message: 'Usuario de la sesión asignado al proyecto' }]}
>
<Checkbox onChange={(e)=>{setNewProject({...newProject,[e.target.id]:(e.target.checked)?true:false})}}/>
</Form.Item>
</Form>
</Modal>
:
<Tabs defaultActiveKey="1" className="projectWorkspace">
<TabPane
tab={
<span>
<BarsOutlined />
Detalles
</span>
}
key="1"
>
<ProjectDescription/>
</TabPane>
<TabPane
tab={
<span>
<InsertRowAboveOutlined />
Kanban
</span>
}
key="2"
>
<Kanban/>
</TabPane>
<TabPane
tab={
<span>
<StarOutlined />
Calificaciones
</span>
}
key="3"
>
Notas de Angel
Notas de Diego
Notas de Manuel Maria
</TabPane>
</Tabs>
);
}
Example #8
Source File: index.jsx From react-lineage-dag with MIT License | 4 votes |
constructor(props) {
super(props);
const {tables, relations} = mockData;
this.state = {
tables,
relations,
canvas: null,
actionMenu: [{
icon: <StarOutlined />,
key: 'star',
onClick: () => {
alert('点击收藏!')
}
}]
};
this.columns = [{
key: 'name',
primaryKey: true
}, {
key: 'title',
}];
this.operator = [{
id: 'isExpand',
name: '展开/收缩血缘',
icon: <Tooltip title='展开/收缩血缘'><BorderOuterOutlined /></Tooltip>,
onClick: (nodeData) => {
// 展开血缘
let tables = _.cloneDeep(this.state.tables);
let table = _.find(tables, (item) => item.id === nodeData.id);
table.isCollapse = !!!table.isCollapse;
this.setState({
tables,
centerId: table.id
});
}
}, {
id: 'explore',
name: '探索血缘',
icon: <Tooltip title='探索血缘'><DownSquareOutlined /></Tooltip>,
onClick: (nodeData) => {
// 添加血缘
let node1 = {
id: (this.state.tables.length + 1).toString(),
name: `table-${this.state.tables.length + 1}`,
fields: [
{
name: 'id',
title: 'id',
},
{
name: 'age',
title: 'age'
}
]
};
let node2 = {
id: (this.state.tables.length + 2).toString(),
name: `table-${this.state.tables.length + 2}`,
fields: [
{
name: 'id',
title: 'id',
},
{
name: 'age',
title: 'age'
}
]
};
let relation1 = {
srcTableId: nodeData.id,
tgtTableId: node1.id,
srcTableColName: 'id',
tgtTableColName: 'age'
};
let relation2 = {
srcTableId: node2.id,
tgtTableId: nodeData.id,
srcTableColName: 'id',
tgtTableColName: 'age'
}
let _tables = _.cloneDeep(this.state.tables);
_tables.push(node1);
_tables.push(node2);
let _relations = _.cloneDeep(this.state.relations);
_relations.push(relation1);
_relations.push(relation2);
this.setState({
tables: _tables,
relations: _relations,
centerId: nodeData.id
});
}
}, {
id: 'remove',
name: '删除节点',
icon: <Tooltip title='删除节点'><CloseCircleOutlined /></Tooltip>,
onClick: (nodeData) => {
// 删除血缘
let _tables = _.cloneDeep(this.state.tables);
let index = _.findIndex(_tables, (item) => item.id === nodeData.id);
_tables.splice(index, 1);
this.setState({
tables: _tables
});
}
}];
// 测试修改actionMenu
// setTimeout(() => {
// let actionMenu = _.cloneDeep(this.state.actionMenu);
// actionMenu.push({
// icon: <StarOutlined />,
// key: 'star2',
// onClick: () => {
// alert('点击收藏2!')
// }
// });
// this.setState({
// actionMenu
// });
// }, 5000)
}
Example #9
Source File: Annotations.js From label-studio-frontend with Apache License 2.0 | 4 votes |
Annotation = observer(({ item, store }) => {
const removeHoney = () => (
<Tooltip placement="topLeft" title="Unset this result as a ground truth">
<Button
size="small"
type="primary"
onClick={ev => {
ev.preventDefault();
item.setGroundTruth(false);
}}
>
<StarOutlined />
</Button>
</Tooltip>
);
const setHoney = () => {
const title = item.ground_truth
? "Unset this result as a ground truth"
: "Set this result as a ground truth";
return (
<Tooltip placement="topLeft" title={title}>
<Button
size="small"
look="link"
onClick={ev => {
ev.preventDefault();
item.setGroundTruth(!item.ground_truth);
}}
>
{item.ground_truth ? (
<StarFilled />
) : (
<StarOutlined />
)}
</Button>
</Tooltip>
);
};
const toggleVisibility = e => {
e.preventDefault();
e.stopPropagation();
item.toggleVisibility();
const c = document.getElementById(`c-${item.id}`);
if (c) c.style.display = item.hidden ? "none" : "unset";
};
const highlight = () => {
const c = document.getElementById(`c-${item.id}`);
if (c) c.classList.add("hover");
};
const unhighlight = () => {
const c = document.getElementById(`c-${item.id}`);
if (c) c.classList.remove("hover");
};
/**
* Default badge for saved annotations
*/
let badge = <Badge status="default" />;
/**
*
*/
let annotationID;
/**
* Title of card
*/
if (item.userGenerate && !item.sentUserGenerate) {
annotationID = <span className={styles.title}>Unsaved Annotation</span>;
} else {
if (item.pk) {
annotationID = <span className={styles.title}>ID {item.pk}</span>;
} else if (item.id) {
annotationID = <span className={styles.title}>ID {item.id}</span>;
}
}
/**
* Badge for processing of user generate annotation
*/
if (item.userGenerate) {
badge = <Badge status="processing" />;
}
/**
* Badge for complete of user generate annotation
*/
if (item.userGenerate && item.sentUserGenerate) {
badge = <Badge status="success" />;
}
const btnsView = () => {
const confirm = () => {
// ev.preventDefault();
// debugger;
item.list.deleteAnnotation(item);
};
return (
<div className={styles.buttons}>
{store.hasInterface("ground-truth") && (item.ground_truth ? removeHoney() : setHoney())}
{store.hasInterface("annotations:delete") && (
<Tooltip placement="topLeft" title="Delete selected annotation">
<Popconfirm
placement="bottomLeft"
title={"Please confirm you want to delete this annotation"}
onConfirm={confirm}
okText="Delete"
okType="danger"
cancelText="Cancel"
>
<Button size="small" danger style={{ background: "transparent" }}>
<DeleteOutlined />
</Button>
</Popconfirm>
</Tooltip>
)}
</div>
);
};
return (
<List.Item
key={item.id}
className={item.selected ? `${styles.annotation} ${styles.annotation_selected}` : styles.annotation}
onClick={() => {
!item.selected && store.annotationStore.selectAnnotation(item.id);
}}
onMouseEnter={highlight}
onMouseLeave={unhighlight}
>
<div className={styles.annotationcard}>
<div>
<div className={styles.title}>
{badge}
{annotationID}
</div>
{item.pk ? "Created" : "Started"}
<i>{item.createdAgo ? ` ${item.createdAgo} ago` : ` ${Utils.UDate.prettyDate(item.createdDate)}`}</i>
{item.createdBy && item.pk ? ` by ${item.createdBy}` : null}
<DraftPanel item={item} />
</div>
{/* platform uses was_cancelled so check both */}
{store.hasInterface("skip") && (item.skipped || item.was_cancelled) && (
<Tooltip placement="topLeft" title="Skipped annotation">
<StopOutlined className={styles.skipped} />
</Tooltip>
)}
{store.annotationStore.viewingAllAnnotations && (
<Button size="small" type="primary" ghost onClick={toggleVisibility}>
{item.hidden ? <EyeInvisibleOutlined /> : <EyeOutlined />}
</Button>
)}
{item.selected && btnsView()}
</div>
</List.Item>
);
})
Example #10
Source File: index.jsx From prometheusPro with MIT License | 4 votes |
render() {
const {
form,
listAndsearchAndarticles: { list },
loading,
} = this.props;
const { getFieldDecorator } = form;
const owners = [
{
id: 'wzj',
name: '我自己',
},
{
id: 'wjh',
name: '吴家豪',
},
{
id: 'zxx',
name: '周星星',
},
{
id: 'zly',
name: '赵丽颖',
},
{
id: 'ym',
name: '姚明',
},
];
const IconText = ({ type, text }) => {
switch (type) {
case 'star-o':
return (
<span>
<StarOutlined
style={{
marginRight: 8,
}}
/>
{text}
</span>
);
case 'like-o':
return (
<span>
<LikeOutlined
style={{
marginRight: 8,
}}
/>
{text}
</span>
);
case 'message':
return (
<span>
<MessageOutlined
style={{
marginRight: 8,
}}
/>
{text}
</span>
);
default:
return null;
}
};
const formItemLayout = {
wrapperCol: {
xs: {
span: 24,
},
sm: {
span: 24,
},
md: {
span: 12,
},
},
};
const loadMore = list.length > 0 && (
<div
style={{
textAlign: 'center',
marginTop: 16,
}}
>
<Button
onClick={this.fetchMore}
style={{
paddingLeft: 48,
paddingRight: 48,
}}
>
{loading ? (
<span>
<LoadingOutlined /> 加载中...
</span>
) : (
'加载更多'
)}
</Button>
</div>
);
return (
<>
<Card bordered={false}>
<Form layout="inline">
<StandardFormRow
title="所属类目"
block
style={{
paddingBottom: 11,
}}
>
<FormItem>
{getFieldDecorator('category')(
<TagSelect expandable>
<TagSelect.Option value="cat1">类目一</TagSelect.Option>
<TagSelect.Option value="cat2">类目二</TagSelect.Option>
<TagSelect.Option value="cat3">类目三</TagSelect.Option>
<TagSelect.Option value="cat4">类目四</TagSelect.Option>
<TagSelect.Option value="cat5">类目五</TagSelect.Option>
<TagSelect.Option value="cat6">类目六</TagSelect.Option>
<TagSelect.Option value="cat7">类目七</TagSelect.Option>
<TagSelect.Option value="cat8">类目八</TagSelect.Option>
<TagSelect.Option value="cat9">类目九</TagSelect.Option>
<TagSelect.Option value="cat10">类目十</TagSelect.Option>
<TagSelect.Option value="cat11">类目十一</TagSelect.Option>
<TagSelect.Option value="cat12">类目十二</TagSelect.Option>
</TagSelect>,
)}
</FormItem>
</StandardFormRow>
<StandardFormRow title="owner" grid>
{getFieldDecorator('owner', {
initialValue: ['wjh', 'zxx'],
})(
<Select
mode="multiple"
style={{
maxWidth: 286,
width: '100%',
}}
placeholder="选择 owner"
>
{owners.map(owner => (
<Option key={owner.id} value={owner.id}>
{owner.name}
</Option>
))}
</Select>,
)}
<a className={styles.selfTrigger} onClick={this.setOwner}>
只看自己的
</a>
</StandardFormRow>
<StandardFormRow title="其它选项" grid last>
<Row gutter={16}>
<Col xl={8} lg={10} md={12} sm={24} xs={24}>
<FormItem {...formItemLayout} label="活跃用户">
{getFieldDecorator(
'user',
{},
)(
<Select
placeholder="不限"
style={{
maxWidth: 200,
width: '100%',
}}
>
<Option value="lisa">李三</Option>
</Select>,
)}
</FormItem>
</Col>
<Col xl={8} lg={10} md={12} sm={24} xs={24}>
<FormItem {...formItemLayout} label="好评度">
{getFieldDecorator(
'rate',
{},
)(
<Select
placeholder="不限"
style={{
maxWidth: 200,
width: '100%',
}}
>
<Option value="good">优秀</Option>
</Select>,
)}
</FormItem>
</Col>
</Row>
</StandardFormRow>
</Form>
</Card>
<Card
style={{
marginTop: 24,
}}
bordered={false}
bodyStyle={{
padding: '8px 32px 32px 32px',
}}
>
<List
size="large"
loading={list.length === 0 ? loading : false}
rowKey="id"
itemLayout="vertical"
loadMore={loadMore}
dataSource={list}
renderItem={item => (
<List.Item
key={item.id}
actions={[
<IconText key="star" type="star-o" text={item.star} />,
<IconText key="like" type="like-o" text={item.like} />,
<IconText key="message" type="message" text={item.message} />,
]}
extra={<div className={styles.listItemExtra} />}
>
<List.Item.Meta
title={
<a className={styles.listItemMetaTitle} href={item.href}>
{item.title}
</a>
}
description={
<span>
<Tag>Ant Design</Tag>
<Tag>设计语言</Tag>
<Tag>蚂蚁金服</Tag>
</span>
}
/>
<ArticleListContent data={item} />
</List.Item>
)}
/>
</Card>
</>
);
}