UNPKG

23 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../../src/generic-view/Screen.js"],"names":["freeEditEngine","Title","h3","Container","div","Toolbar","createInitialEditInfo","props","gridProps","editMode","generateInitialEditInfo","undefined","Screen","state","data","loading","saving","sorting","showAdd","fuzzyFilter","criteria","initialCriteria","promptInfo","transLog","editInfo","onError","setState","error","onFuzzyFilterChange","onSave","getModifyTask","apiTargetInfo","saveAllGridData","console","log","updated","added","fork","onRetrieve","onEdit","originalRow","editedRow","getInsertTask","getTask","onAddRowClicked","addWithSelected","onCopyRowClicked","confirmRemove","confirm","cancelConfirm","doRemoveRows","selectedRows","length","getDeleteTask","doConfirm","onEditCancel","onHidePrompt","selectionChange","selectedHeaders","getRetrieveTask","onImport","getImportTask","onSubmit","getSubmitTask","onShowSubmitDetail","getShowSubmitDetailTask","extractSubmitId","submitInfo","submitTransId","ids","map","filter","submitId","setTransLog","onCriteriaChange","getCriteriaProps","headers","title","hasSelectedRows","saveEnabled","isDirty","setEditInfo","getGridProps","isEditable","dataFilter","render","renderRowEditor","restOfGridProps","onSelectionChange","onEditInfoChange","disableAutoRetrieve","renderCriteria","renderPrompt","renderProcessing","renderSubmissionResponse","isOnlyUpdatable","ErrorComponent","noYetRetrieved","paddingLeft","paddingRight","Component","propTypes","func","isRequired","string","array","oneOfType","bool","element","heightOffSet","number","object","defaultProps"],"mappings":"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","file":"Screen.js","sourcesContent":["import React from 'react'\n// import { Grid, flexGridRenderer, freeEditEngine } from '@integec/grid-tools'\nimport Grid from '@integec/grid-tools/lib/Grid'\nimport flexGridRenderer from '@integec/grid-tools/lib/flexRenderer'\nimport * as freeEditEngine from '@integec/grid-tools/lib/editEngine'\nimport styled from 'styled-components'\nimport { Icon, Button, Confirm, Loader } from 'semantic-ui-react'\nimport PropTypes from 'prop-types'\nimport Overlay from './Overlay'\nimport R from 'ramda'\nimport idx from 'idx'\nimport { ErrorModal } from '../modal'\nimport { rowEditorRender } from '../grid-tools'\n// import { Prompt } from 'react-router'\n\nconst Title = styled.h3`\n text-align: center;\n`\nconst Container = styled.div`\n padding-left: 2em;\n padding-right: 2em;\n position: relative;\n`\nconst Toolbar = styled.div`\n margin-top: 5px;\n margin-bottom: 3px;\n`\n\nconst createInitialEditInfo = props =>\n props && props.gridProps && props.gridProps.editMode === 'cell'\n ? freeEditEngine.generateInitialEditInfo()\n : undefined\n\nclass Screen extends React.Component {\n static propTypes = {\n renderCriteria: PropTypes.func.isRequired,\n title: PropTypes.string.isRequired,\n headers: PropTypes.array.isRequired,\n /* signature of isEditable ({rowData,header}) => bool **/\n isEditable: PropTypes.oneOfType([PropTypes.func, PropTypes.bool]),\n getRetrieveTask: PropTypes.func.isRequired,\n /** only required when it is a editable Grid **/\n getModifyTask: PropTypes.func,\n getDeleteTask: PropTypes.func,\n /** for error handling **/\n renderPrompt: PropTypes.func,\n ErrorComponent: PropTypes.element,\n renderProcessing: PropTypes.func,\n heightOffSet: PropTypes.number,\n /* additional grid props */\n gridProps: PropTypes.object,\n isOnlyUpdatable: PropTypes.oneOfType([PropTypes.func, PropTypes.bool]),\n saveAllGridData: PropTypes.bool,\n dataFilter: PropTypes.func,\n }\n\n static defaultProps = {\n heightOffSet: 0,\n gridProps: {},\n renderProcessing: () => <Loader active />,\n ErrorComponent: ErrorModal,\n }\n\n componentDidMount() {\n const { disableAutoRetrieve } = this.props\n if (!disableAutoRetrieve) this.onRetrieve()\n }\n\n state = {\n data: [],\n loading: false,\n saving: false,\n sorting: false,\n showAdd: false,\n fuzzyFilter: '',\n criteria: this.props.initialCriteria || {},\n promptInfo: null,\n transLog: null,\n editInfo: createInitialEditInfo(this.props),\n }\n\n onError = error =>\n this.setState({\n loading: false,\n saving: false,\n promptInfo: error,\n sorting: false,\n })\n\n onFuzzyFilterChange = fuzzyFilter => this.setState({ fuzzyFilter })\n\n onSave = e => {\n const { getModifyTask, apiTargetInfo, saveAllGridData } = this.props\n const { editInfo } = this.state\n console.log('saving ', this.state.editInfo)\n const data = saveAllGridData\n ? { data: this.state.data, editInfo }\n : [...editInfo.updated, ...editInfo.added]\n\n this.setState(\n _ => ({ saving: true }),\n _ =>\n getModifyTask({\n apiTargetInfo,\n criteria: this.state.criteria,\n data,\n }).fork(\n this.onError,\n /* retrieve on Success */\n this.onRetrieve\n )\n )\n }\n\n onEdit = ({ originalRow, editedRow }) => {\n const { getModifyTask, getInsertTask, apiTargetInfo } = this.props\n\n if (originalRow) {\n console.log('adding row', editedRow)\n } else {\n console.log('updating row', originalRow, editedRow)\n }\n\n const getTask = originalRow === undefined ? getInsertTask || getModifyTask : getModifyTask\n\n this.setState(\n _ => ({ saving: true }),\n _ =>\n getTask({\n apiTargetInfo,\n criteria: this.state.criteria,\n data: [editedRow],\n }).fork(\n this.onError,\n /* retrieve on Success */\n this.onRetrieve\n )\n )\n }\n\n onAddRowClicked = _ => this.setState({ showAdd: true, addWithSelected: false })\n\n onCopyRowClicked = _ => this.setState({ showAdd: true, addWithSelected: true })\n\n confirmRemove = _ => this.setState({ confirm: 'Remove' })\n\n cancelConfirm = _ => this.setState({ confirm: null })\n\n doRemoveRows = _ => {\n if (this.selectedRows && this.selectedRows.length > 0) {\n const { getDeleteTask, apiTargetInfo } = this.props\n this.setState(\n _ => ({ saving: true, confirm: null }),\n _ =>\n getDeleteTask({\n apiTargetInfo,\n criteria: this.state.criteria,\n data: this.selectedRows,\n }).fork(this.onError, this.onRetrieve)\n )\n }\n }\n\n doConfirm = this.doRemoveRows\n\n onEditCancel = _ => this.setState({ showAdd: false })\n\n onHidePrompt = _ => this.setState({ promptInfo: undefined })\n\n selectionChange = ({ selectedRows, selectedHeaders }) => {\n this.selectedRows = selectedRows\n }\n\n onRetrieve = _ => {\n const { criteria } = this.state\n const { apiTargetInfo, getRetrieveTask } = this.props\n this.setState(\n _ => ({ saving: false, loading: true }),\n _ =>\n getRetrieveTask({ apiTargetInfo, ...criteria }).fork(this.onError, data => {\n this.setState({\n data,\n loading: false,\n showAdd: false,\n editInfo: createInitialEditInfo(this.props),\n })\n })\n )\n }\n\n onImport = _ => {\n const { criteria } = this.state\n const { apiTargetInfo, getImportTask } = this.props\n this.setState(\n _ => ({ loading: true }),\n _ =>\n getImportTask({ apiTargetInfo, ...criteria }).fork(this.onError, data => {\n this.setState({ loading: false })\n this.onRetrieve(data)\n })\n )\n }\n\n onSubmit = _ => {\n const { criteria } = this.state\n const { apiTargetInfo, getSubmitTask } = this.props\n this.setState(\n _ => ({ loading: true }),\n _ =>\n getSubmitTask({ apiTargetInfo, ...criteria }).fork(this.onError, data => {\n this.setState({ data, loading: false })\n // this.onRetrieve(data)\n })\n )\n }\n\n onShowSubmitDetail = () => {\n const { apiTargetInfo, getShowSubmitDetailTask } = this.props\n const extractSubmitId = data => idx(data, _ => _.submitInfo.submitTransId)\n if (this.selectedRows && this.selectedRows.length > 0) {\n const ids = this.selectedRows.map(extractSubmitId).filter(submitId => submitId != null)\n\n if (ids.length > 0) {\n this.setState(\n _ => ({ loading: true }),\n _ =>\n getShowSubmitDetailTask({\n apiTargetInfo,\n ids,\n }).fork(this.onError, this.setTransLog)\n )\n }\n }\n }\n\n // change this to {name/value}\n onCriteriaChange = data =>\n this.setState(({ criteria }) => ({\n criteria: { ...criteria, ...data },\n data: [],\n }))\n\n getCriteriaProps = _ => ({\n data: this.state.data,\n headers: this.props.headers,\n loading: this.state.loading,\n onCriteriaChange: this.onCriteriaChange,\n onRetrieve: this.onRetrieve,\n criteria: this.state.criteria,\n onFuzzyFilterChange: this.onFuzzyFilterChange,\n fuzzyFilter: this.state.fuzzyFilter,\n onError: this.onError,\n title: this.props.title,\n onImport: this.props.getImportTask ? this.onImport : undefined,\n onSubmit: this.props.getSubmitTask ? this.onSubmit : undefined,\n onShowSubmitDetail: this.props.getShowSubmitDetailTask ? this.onShowSubmitDetail : undefined,\n hasSelectedRows: this.selectedRows && this.selectedRows.length > 0,\n onSave: this.state.editInfo ? this.onSave : undefined,\n saveEnabled: this.state.editInfo && freeEditEngine.isDirty(this.state.editInfo),\n })\n\n setEditInfo = editInfo => {\n this.setState(_ => ({ editInfo, showAdd: false }))\n }\n\n getGridProps = _ => {\n const { data, showAdd, fuzzyFilter, addWithSelected, editInfo } = this.state\n const { headers, gridProps, isEditable, dataFilter } = this.props\n // const isFreeEdit = gridProps && this.props.gridProps.editMode === 'cell'\n\n const {\n render = flexGridRenderer(),\n renderRowEditor = rowEditorRender(),\n ...restOfGridProps\n } = gridProps\n return {\n fuzzyFilter,\n data: dataFilter ? R.filter(dataFilter, data) : data,\n headers,\n render,\n renderRowEditor,\n onEdit: editInfo == null ? this.onEdit : undefined,\n onSelectionChange: this.selectionChange,\n isEditable,\n showAdd,\n addWithSelected,\n onEditCancel: this.onEditCancel,\n editInfo: editInfo,\n onEditInfoChange: editInfo && this.setEditInfo,\n ...restOfGridProps,\n }\n }\n\n setTransLog = transLog => this.setState({ transLog, loading: false })\n\n render() {\n const { data, promptInfo, criteria, sorting, saving, loading, confirm, transLog } = this.state\n\n const {\n title,\n renderCriteria,\n renderPrompt,\n renderProcessing,\n renderSubmissionResponse,\n isEditable,\n isOnlyUpdatable,\n ErrorComponent,\n } = this.props\n const noYetRetrieved = data === undefined\n // const noData = data && data.length === 0\n // const dataAvailable = !noYetRetrieved && !noData\n console.log('rendering with', this.state.editInfo)\n\n return (\n <Container>\n <Title data-testid=\"screen-title\">{title}</Title>\n {renderCriteria(this.getCriteriaProps())}\n {isEditable &&\n !isOnlyUpdatable && (\n <Toolbar>\n <Button.Group color=\"grey\" size=\"tiny\">\n <Button onClick={this.onAddRowClicked} id=\"add-row\">\n <Icon name=\"add square\" />New\n </Button>\n <Button onClick={this.onCopyRowClicked} id=\"add-row\">\n <Icon name=\"add square\" />Copy Selected Row\n </Button>\n <Button onClick={this.confirmRemove} id=\"remove-row\">\n <Icon name=\"remove circle\" />Remove\n </Button>\n </Button.Group>\n </Toolbar>\n )}\n {noYetRetrieved && 'Please Click on Retrieve'}\n {/* noData && 'No Data Retrieved' */}\n <Grid {...this.getGridProps()} />\n {promptInfo &&\n renderPrompt && (\n <Overlay\n style={{ paddingLeft: '10vw', paddingRight: '10vw' }}\n onClose={this.onHidePrompt}\n >\n {renderPrompt({ ...{ promptInfo }, criteria })}\n </Overlay>\n )}\n {promptInfo &&\n !renderPrompt && (\n <ErrorComponent modalInfo={promptInfo} setModalInfo={this.onHidePrompt} />\n )}\n <Confirm\n open={!R.isNil(confirm)}\n header={`Confirm ${confirm} of selected rows`}\n onCancel={this.cancelConfirm}\n confirmButton={`Confirm ${confirm}`}\n content={`Are you sure you want to ${confirm} the selected rows?`}\n onConfirm={this.doConfirm}\n />\n {(sorting || saving || loading) && <Overlay>{renderProcessing({ criteria })}</Overlay>}\n {transLog &&\n renderSubmissionResponse({\n transLog,\n setTransLog: this.setTransLog,\n selectedRows: this.selectedRows,\n })}\n </Container>\n )\n }\n}\n\nexport default Screen\n"]}
\No newline at end of file