92 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			92 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| /*
 | ||
|     Парус 8 - Панели мониторинга - РО - Редактор настройки регламентированного отчёта
 | ||
|     Дополнительная разметка и вёрстка клиентских элементов
 | ||
| */
 | ||
| 
 | ||
| //---------------------
 | ||
| //Подключение библиотек
 | ||
| //---------------------
 | ||
| 
 | ||
| import React from "react"; //Классы React
 | ||
| import { MarksToolbar } from "./components/marks_toolbar"; //Панель инструментов показателей
 | ||
| import { MarkCard } from "./components/mark_card"; //Карточка показателя
 | ||
| import { STYLES as COMMON_STYLES } from "./common"; //Общие стили и константы
 | ||
| 
 | ||
| //---------
 | ||
| //Константы
 | ||
| //---------
 | ||
| 
 | ||
| //Стили
 | ||
| export const STYLES = {
 | ||
|     HEAD_CELL: {
 | ||
|         textAlign: "center",
 | ||
|         fontWeight: "bold",
 | ||
|         lineHeight: "unset",
 | ||
|         ...COMMON_STYLES.FONT_DATA_GRID,
 | ||
|         ...COMMON_STYLES.BG_DATA_GRID_HEAD_CELL,
 | ||
|         ...COMMON_STYLES.BORDER_DATA_GRID_HEAD_CELL
 | ||
|     },
 | ||
|     HEAD_CELL_STACK: { justifyContent: "center" },
 | ||
|     DATA_CELL: isMarkRowHead => ({
 | ||
|         padding: "5px 5px",
 | ||
|         textAlign: "center",
 | ||
|         ...COMMON_STYLES.FONT_DATA_GRID,
 | ||
|         ...(isMarkRowHead
 | ||
|             ? { ...COMMON_STYLES.BG_DATA_GRID_DATA_CELL, ...COMMON_STYLES.BORDER_DATA_GRID_HEAD_CELL, fontWeight: "bold" }
 | ||
|             : COMMON_STYLES.BORDER_DATA_GRID_DATA_CELL)
 | ||
|     })
 | ||
| };
 | ||
| 
 | ||
| //-----------
 | ||
| //Тело модуля
 | ||
| //-----------
 | ||
| 
 | ||
| //Генерация представления ячейки c данными показателя раздела регламентированного отчета
 | ||
| export const confSctnMrkCellRender = ({ row, columnDef, onMarkAdd, onMarkUpdate, onMarkDelete, onMarkOpen, onMarkCnOpen, onMarkCnAdd }) => {
 | ||
|     //Считываем информацию о показателе
 | ||
|     const mark = {
 | ||
|         rn: row[columnDef.name]?.NRN,
 | ||
|         code: row[columnDef.name]?.SCODE,
 | ||
|         name: row[columnDef.name]?.SNAME,
 | ||
|         row: row[columnDef.name]?.NRRPROW,
 | ||
|         rowCode: row[columnDef.name]?.SRRPROW,
 | ||
|         rowVersion: row[columnDef.name]?.SRRPVERSION_ROW,
 | ||
|         column: row[columnDef.name]?.NRRPCOLUMN,
 | ||
|         columnCode: row[columnDef.name]?.SRRPCOLUMN,
 | ||
|         columnVersion: row[columnDef.name]?.SRRPVERSION_COLUMN,
 | ||
|         constitution: row[columnDef.name]?.CONSTITUTION
 | ||
|     };
 | ||
|     //Вернём представление ячейки
 | ||
|     return {
 | ||
|         cellStyle: STYLES.DATA_CELL(columnDef.name === "SROW_NAME"),
 | ||
|         data: columnDef.name != "SROW_NAME" && (
 | ||
|             <MarkCard
 | ||
|                 mark={mark.rn}
 | ||
|                 code={mark.code}
 | ||
|                 name={mark.name}
 | ||
|                 constitution={mark.constitution}
 | ||
|                 onMarkAdd={() => onMarkAdd && onMarkAdd(mark.row, mark.column)}
 | ||
|                 onMarkUpdate={() => onMarkUpdate && onMarkUpdate({ ...mark })}
 | ||
|                 onMarkDelete={() => onMarkDelete && onMarkDelete(mark.rn)}
 | ||
|                 onMarkOpen={() => onMarkOpen && onMarkOpen(mark.rn)}
 | ||
|                 onMarkCnOpen={constitutionRn => onMarkCnOpen && onMarkCnOpen(mark.rn, constitutionRn)}
 | ||
|                 onMarkCnAdd={() => onMarkCnAdd && onMarkCnAdd(mark.rn)}
 | ||
|             />
 | ||
|         )
 | ||
|     };
 | ||
| };
 | ||
| 
 | ||
| //Генерация представления ячейки заголовка таблицы показателей
 | ||
| export const confSctnMrkHeadCellRender = ({ columnDef, onAdd, onRefresh, onOrder, onHelp }) => {
 | ||
|     return {
 | ||
|         cellStyle: STYLES.HEAD_CELL,
 | ||
|         stackStyle: STYLES.HEAD_CELL_STACK,
 | ||
|         data:
 | ||
|             columnDef.name === "SROW_NAME" ? (
 | ||
|                 <MarksToolbar onAdd={onAdd} onRefresh={onRefresh} onOrder={onOrder} onHelp={onHelp} />
 | ||
|             ) : (
 | ||
|                 columnDef.caption
 | ||
|             )
 | ||
|     };
 | ||
| };
 |