@foxford/pdf-generator

1.1.6 • Public • Published

Foxford PDF Generator

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

Command Description
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}
      />
    )
  }
}

/@foxford/pdf-generator/

    Package Sidebar

    Install

    npm i @foxford/pdf-generator

    Weekly Downloads

    13

    Version

    1.1.6

    License

    MIT

    Unpacked Size

    30.8 MB

    Total Files

    129

    Last publish

    Collaborators

    • dmeremyanin
    • romanlex
    • iammalikov
    • alexkonst
    • stud-mai
    • foxford-service
    • aenesterov