Skip to content

Sasha20055/react-table-components

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 

Repository files navigation

React Table Components

ΠœΠΎΡ‰Π½Ρ‹ΠΉ ΠΈ настраиваСмый ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, созданный Π½Π° React, с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ, ΠΏΠ°Π³ΠΈΠ½Π°Ρ†ΠΈΠΈ, Π²ΠΊΠ»Π°Π΄ΠΎΠΊ ΠΈ мноТСствСнного Π²Ρ‹Π±ΠΎΡ€Π° для эффСктивного управлСния Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅


Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ

πŸŽ›οΈ Π€ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ

  • Π€ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ ΠΏΠΎ столбцам: Π›Π΅Π³ΠΊΠΎ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΡƒΠΉΡ‚Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ столбцам для быстрого поиска Π½ΡƒΠΆΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.
  • НастраиваСмая Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ: Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ (dictionary, enum, roles ...).
  • Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ поиск: ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ глобального поиска ΠΏΠΎ всСм столбцам для Π±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΈΡ… запросов.

πŸ“‘ ΠŸΠ°Π³ΠΈΠ½Π°Ρ†ΠΈΡ

  • НастраиваСмый Ρ€Π°Π·ΠΌΠ΅Ρ€ страницы: Π˜Π·ΠΌΠ΅Π½ΡΠΉΡ‚Π΅ количСство записСй Π½Π° страницС для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ Π½Π°Π±ΠΎΡ€Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ….
  • НавигационныС элСмСнты: ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ страницами с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ½ΠΎΠΏΠΎΠΊ Β«ΠŸΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π°ΡΒ», Β«Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°ΡΒ», Β«ΠŸΠ΅Ρ€Π²Π°ΡΒ» ΠΈ «ПослСдняя».

πŸ—‚οΈ Π’ΠΊΠ»Π°Π΄ΠΊΠΈ

  • ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚Π½Ρ‹Π΅ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ: ΠžΡ€Π³Π°Π½ΠΈΠ·ΡƒΠΉΡ‚Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π² Ρ€Π°Π·Π½Ρ‹Π΅ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ для ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρƒ Π²ΠΊΠ»Π°Π΄ΠΊΠ°ΠΌΠΈ.
  • ДинамичСскоС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅: Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Π²ΠΊΠ»Π°Π΄ΠΎΠΊ обновляСтся автоматичСски ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ критСрия.
  • ΠšΠ΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΊΠ»Π°Π΄ΠΎΠΊ: ΠŸΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ информация ΠΊΠ΅ΡˆΠΈΡ€ΡƒΠ΅Ρ‚ΡΡ.

πŸ”˜ Π‘Π΅Π»Π΅ΠΊΡ‚ΠΎΡ€Ρ‹

  • Одно- ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ²Π°Ρ€ΠΈΠ°Π½Ρ‚Π½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€: Π’Ρ‹Π±ΠΈΡ€Π°ΠΉΡ‚Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠ»ΠΈ нСсколько строк для выполнСния массовых дСйствий.
  • Быстрый Π²Ρ‹Π±ΠΎΡ€ всСх элСмСнтов: ΠžΠΏΡ†ΠΈΡ Β«Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ всё» для быстрого примСнСния массовых дСйствий ΠΊ большим Π½Π°Π±ΠΎΡ€Π°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ….
  • НастраиваСмыС дСйствия: ВыполняйтС ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ дСйствия для Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… элСмСнтов, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ экспорт, ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅.

πŸ–±οΈ ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚Π½ΠΎΠ΅ мСню

  • ΠšΠ°ΡΡ‚ΠΎΠΌΠ½ΠΎΠ΅ контСкстноС мСню: ΠΏΡ€ΠΈ ПКМ открываСтся Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄ для Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ строки.
  • Π€ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ ΠΏΠΎ ролям: Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄ гСнСрируСтся Π² зависимости ΠΎΡ‚ Ρ€ΠΎΠ»ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

πŸ–‡οΈ ДинамичСскоС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ столбцов (Drag-and-drop)

  • ДинамичСская смСна ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ: ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ шапки столбца пСрСмСщаСтся вСсь столбСц.
  • Π‘ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ столбцов: Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Π΅ столбцы для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ удобства просмотра.
  • ДинамичСскоС сохранСниС полоТСния столбцов: история полоТСния столбцов обновляСтся автоматичСски.

πŸ’Ύ ΠšΠ΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

  • ΠšΠ΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΊΠ»Π°Π΄ΠΎΠΊ: Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ послСднюю ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡƒΡŽ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ ΠΏΡ€ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ.
  • ΠšΠ΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²: сохраняСт Π½Π°Π±ΠΎΡ€ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ² Π²ΠΎ всСх Π²ΠΊΠ»Π°Π΄ΠΊΠ°Ρ….
  • ΠšΠ΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ порядка столбцов: Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ порядок столбцов Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅.
  • ΠšΠ΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°Π³ΠΈΠ½Π°Ρ†ΠΈΠΈ: сохраняСт Π°ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ страницу для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ.

Установка

УстановитС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Π² ваш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ React Ρ‡Π΅Ρ€Π΅Π· npm ΠΈΠ»ΠΈ yarn:

npm install react-table-components
# ΠΈΠ»ΠΈ
yarn add react-table-components

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ обьявлСния Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π΅:

render() {
	return <DataTable {...this.props}
		title = "УвСдомлСния"
		sort = {{field: "created", dir: 'desc'}}
		fetch = {this.fetch.bind(this)}
		columns = {[
			{ title: "#", field: "id", filter: DataTable.STRING_FILTER},
			{ title: "Π’Π΅ΠΌΠ°", field: "subject", filter: DataTable.STRING_FILTER},
			{ title: "ОписаниС", field: "body", filter: DataTable.STRING_FILTER},
		]}/>
}

Π‘ΠΎΠ»Π΅Π΅ слоТный ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ, контСкстноС мСню ΠΈ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΡƒ Π² Excel:

render() {
	return <DataTable {...this.props}
	   contextMenuObj={this.contextMenuObj}
	   filterTabs={filterTabs}
	   defaultFilterParam={field}
	   serviceFilterTabs={QuoteService}
	   title = {this.props.title}
	   openAddForm = {this.openAddForm.bind(this)}
	   openEditForm = {this.openEditForm.bind(this)}
	   fetch = { ... }
	   fetchXLS = {this.fetchXLS.bind(this)}
	   tableHeaderRenderer = {this.renderTableHeader}
	   getQuoteStatuses={this.getQuoteStatuses}
	   tableBodyRenderer = { ... }
	   features = { ... }}
	   resizable = {true}
	   columns = {this.columns().filter(col => { return Object.keys(col).length !== 0 })}
	   style = {{maxHeight: this.state.tableHeight}}
	   tableClassName = "no-line-break"
	   dataTableAlerts = {this.state.dataTableAlerts}
	   dataTableNotifications = {this.state.dataTableNotifications}
	   alertClickHandler = {this.openEditForm.bind(this)}
	   alertItemTitle={"Заявка"}
	   setColumns = {this.setColumns}
	/>
	}
}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published