@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}
      />
    )
  }
}

Readme

Keywords

Package Sidebar

Install

npm i @foxford/pdf-generator

Weekly Downloads

15

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