@x-edu/platform-resource-selector

1.0.5 • Public • Published

使用

import React, { useState } from 'react'
import { Button, Table } from 'fish'
import { PlatformResourceSelector } from '@x-edu/platform-resource-selector'
import { uc } from '@/util/auth/func'
import authConfig from '@/config/env'

const config = {
  uc, //uc实例
  sdpAppId: authConfig.app.appid, //sdp-app-id
  env: authConfig.env, // 环境变量
  preview: true,
  width: 800,
  height: 900,
  limit: 1
}

export default function Demo() {
  const [selection, setSelection] = useState([])
  const [visible, setVisible] = useState(false)

  const handleClick = () => {
    setVisible(true)
  }

  const handleComplete = (_selection) => {
    console.info('[DEV]选中的资源为', _selection)
    setSelection(_selection)
    setVisible(false)
  }

  const handleCancel = () => {
    setVisible(false)
  }

  const handleDelete = (item) => {
    alert(`delete ${item.name}`)
  }

  return (
    <div>
      <Button
        type="primary"
        // eslint-disable-next-line
        style={{ marginRight: 8 }}
        onClick={handleClick}
      >
        从共享资源库选择
      </Button>
      <span>
        允许添加
        {config.limit}
        {' '}
        个资源
      </span>
      {
        selection.length > 0 && (
          <Table
            indexKey="id"
            style={{
              marginTop: 8
            }}
            minHeight={140}
            columns={[{
              title: '资源名称',
              dataIndex: 'title',
              key: 'title',
              width: 120
            }, {
              title: '资源类型',
              dataIndex: 'content_type',
              key: 'content_type',
              width: 120
            }, {
              title: '资源来源',
              dataIndex: 'source_type',
              key: 'source_type',
              width: 120
            }, {
              title: '操作',
              width: 120,
              key: 'action',
              render: (row) => (
                <>
                  <Button type="text">预览</Button>
                  <Button type="text" onClick={() => handleDelete(row)}>删除</Button>
                </>
              )
            }]}
            dataSource={selection}
            showIndex
            pagination={false}
          />
        )
      }
      <PlatformResourceSelector
        config={config}
        visible={visible}
        onComplete={handleComplete}
        onCancel={handleCancel}
      />
    </div>
  )
}

API

属性 说明 类型 默认值
config 配置 configVo -
visible 是否显示 Boolean -
onComplete 确认选择 ()=> selectionInfo[] -
onCancel 取消 Function -
selection 选中的资源 selectionInfo[] -

onComplete(selectionInfo[])

https://zxxedu.yuque.com/xv0o5a/dxkbyq/pbbrpga7mvnmx9ng?singleDoc# 《区域后台资源选择器》 密码:eg5s

configVo

{
  uc, //uc实例
  sdpAppId: authConfig.app.appid, //sdp-app-id
  sdpOrgId:'',
  env: authConfig.env, // 环境变量
  preview: true,
  width: 800,
  height: 900,
  limit: 1
}

selectionInfo

const selectionInfo = {
    editInfo: {
      name: string,
      id: string,
      libraryId: string,
      platform: string,
      contentType: string,
      cover: string
    },
    selectInfo: {
      name: string,
      id: string,
      libraryId: string,
      platformHost: string,
      platformZoneCode: string,
      contentType: string,
      cover: string,
      platformId: string // 区域平台id
    }
  }

开发

安装依赖

npm install @x-edu/platform-resource-selector -S

开发调试

npm run dev:doc

本地构建

npm run build

Readme

Keywords

none

Package Sidebar

Install

npm i @x-edu/platform-resource-selector

Weekly Downloads

7

Version

1.0.5

License

none

Unpacked Size

3.74 MB

Total Files

46

Last publish

Collaborators

  • caolvchong
  • eliseisgood
  • gylllll
  • huhb500
  • dont_write_code
  • janya
  • guoyh
  • caijiexuan
  • githoniel
  • wengbiqin
  • daixiaofei
  • fantasy
  • xiao1969231443