Socket
Book a DemoInstallSign in
Socket

@foxford/pdf-generator

Package Overview
Dependencies
Maintainers
0
Versions
92
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@foxford/pdf-generator

React component for generate pdf on client from dom node

latest
npmnpm
Version
1.1.6
Version published
Maintainers
0
Created
Source

Foxford PDF Generator

Генерация PDF документов на клиенте. Используется для генерации сертификатов, дипломов, благодарственных писем.

CommandDescription
npm startЗапуск сервера для редактирования шаблонов
npm run devЗапускает сборку umd в режиме разработки

Компонент DocumentList несёт в себе скрытую реализацию рендера списка документов, связанную непосредственно с библиотекой генерации. Его использование требует выполнения определенных условий, а именно:

  • В случае использования нескольких DocumentList на странице требуется блокировка запросов на генерацию с разных экземпляров компонента. Для этого нужно использовать пропсы onRequestGenerating, onStartGenerating, onEndGenerating для установки/снятия флага, который будет проверяться в onRequestGenerating

  • Функция startGenerating должна выстреливать экшен для загрузки данных выбранного для просмотра/генерации документа. Принимает ID в качестве аргумента.

  • Загруженные данные выбранного документа должны попадать в selectedDocumentData


class MyComponent extends Component {
  state = {
    isGenerating: false,
  }

  endGenerating = (generatedInfo) => {
    this.setState({ isGenerating: false })
  }

  startGenerating = (id) => {
    const { actions } = this.props

    this.setState({ isGenerating: true })

    actions.getUserCertificate(id) // загружаем выбранный документ в стор
  }

  requestGenerating = () => {
    if (this.state.isGenerating) { return false } // запрещаем генерацию

    return true // продолжаем генерацию
  }

  render() {
    const { document, list } = this.props // получаем данные выбранного документа и список документов

    return (
      <DocumentList
        selectedDocumentData={document.data}
        documents={list}
        onRequestGenerating={this.requestGenerating}
        onStartGenerating={this.startGenerating}
        onEndGenerating={this.endGenerating}
      />
    )
  }
}

Keywords

pdf

FAQs

Package last updated on 18 Dec 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts