From fed915a3cb7fcb61d6059b07e110eb77da54c1d4 Mon Sep 17 00:00:00 2001 From: Cedric Date: Wed, 29 Jul 2020 21:41:15 -0500 Subject: [PATCH 1/5] Added options update mode and entries per page options for table views. --- src/components/CollectionView/index.jsx | 85 +++++++++++++++++++++---- 1 file changed, 72 insertions(+), 13 deletions(-) diff --git a/src/components/CollectionView/index.jsx b/src/components/CollectionView/index.jsx index d0abd81..7be4305 100644 --- a/src/components/CollectionView/index.jsx +++ b/src/components/CollectionView/index.jsx @@ -59,6 +59,8 @@ const INITIAL_STATE = { }; let published = true; +let lockedValue = true; +let isRemovable = true; let tableKeys = []; let tempDetails = []; let viewOrderField = 'none'; @@ -127,24 +129,23 @@ class CollectionView extends React.Component { }; toggleTable = async (value) => { - this.setState({ - loading: true, - }); if (!value) { await Prom.unlockTable(this.state.documentDetails[0].collection); this.setState({ locked: false, - loading: false, }); } else { Prom.lockTable(this.state.documentDetails[0].collection); this.setState({ locked: true, - loading: false, }); } }; + setLockedValue = (value) => { + lockedValue = value; + }; + setOrderField = (field) => { viewOrderField = field; }; @@ -153,7 +154,18 @@ class CollectionView extends React.Component { viewOrder = order; }; + setEntriesPerPage = (value) => { + rowNum = value; + }; + + setUpdateOnly = (value) => { + isRemovable = value; + }; + saveViewSettings = async () => { + this.setState({ + loading: true, + }); let tempView = this.state.prmthsView; if (viewOrderField === 'none') { tempView['orderBy'] = ''; @@ -162,6 +174,9 @@ class CollectionView extends React.Component { tempView['orderBy'] = viewOrderField; tempView['order'] = viewOrder; } + tempView['isRemovable'] = isRemovable; + tempView['rowNum'] = rowNum; + this.toggleTable(lockedValue); await Prom.updateData('prmths_views', tempView, [['id', '=', tempView.id]]); this.setState({ setViewOpen: false, @@ -336,6 +351,8 @@ class CollectionView extends React.Component { let currentData; let order = []; let orderDir = 'asc'; + lockedValue = true; + isRemovable = true; viewOrderField = 'none'; viewOrder = 'asc'; rowNum = 10; @@ -353,10 +370,11 @@ class CollectionView extends React.Component { try { prmthsView = await Prom.getData('prmths_views', [['id', '=', contentId]]); + isRemovable = prmthsView[0].isRemovable; + rowNum = prmthsView[0].rowNum; if (prmthsView[0].orderBy.length > 0) { viewOrderField = prmthsView[0].orderBy; viewOrder = prmthsView[0].order; - rowNum = prmthsView[0].rowNum; } let keys = []; @@ -434,6 +452,7 @@ class CollectionView extends React.Component { .then((result) => { if (result[0].table === id) { locked = false; + lockedValue = false; } }) .catch(() => {}); @@ -596,7 +615,7 @@ class CollectionView extends React.Component { )} - {Prom.getMode() !== 'Viewer' ? ( + {Prom.getMode() !== 'Viewer' && isRemovable ? ( )} - {Prom.getMode() !== 'Viewer' ? ( + {Prom.getMode() !== 'Viewer' && isRemovable? ( - diff --git a/src/services/Session/PromProvider.js b/src/services/Session/PromProvider.js index 7a7b7fb..08eadb7 100644 --- a/src/services/Session/PromProvider.js +++ b/src/services/Session/PromProvider.js @@ -14,6 +14,7 @@ class PromProvider extends React.Component { rowsPerPage: 0, order: '', direction: '', + pageDirection: '', }; render() { return ( @@ -74,6 +75,14 @@ class PromProvider extends React.Component { getDirection: () => { return this.state.direction; }, + setPageDirection: (pageDirection) => { + this.setState({ + pageDirection: pageDirection, + }); + }, + getPageDirection: () => { + return this.state.pageDirection; + }, incrementPage: () => { this.setState({ page: this.state.page + 1, From b5d2b5db966acc956620dde70bfe7023fdcf6411 Mon Sep 17 00:00:00 2001 From: Cedric Date: Mon, 3 Aug 2020 17:00:52 -0500 Subject: [PATCH 5/5] Added update controls to document view. --- src/components/CollectionView/index.jsx | 1 + src/components/DocumentView/index.jsx | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/components/CollectionView/index.jsx b/src/components/CollectionView/index.jsx index bb01cbc..8de0ce4 100644 --- a/src/components/CollectionView/index.jsx +++ b/src/components/CollectionView/index.jsx @@ -605,6 +605,7 @@ class CollectionView extends React.Component { pathname: '/DocumentView', state: { mode: 'update', + isRemovable: isRemovable, tableKeys: tableKeys[rowIndex], routed: false, viewId: documentDetails[0].contentId, diff --git a/src/components/DocumentView/index.jsx b/src/components/DocumentView/index.jsx index 32690be..3ad4b1f 100644 --- a/src/components/DocumentView/index.jsx +++ b/src/components/DocumentView/index.jsx @@ -56,6 +56,7 @@ let tempDocument = []; let fileDoc = []; let fileRefs = []; let mode = ''; +let isRemovable = true; let quillRef = null; let quillIndex = 0; let quillURL = ''; @@ -471,6 +472,7 @@ class DocumentView extends React.Component { ]); try { mode = this.props.location.state.mode; + isRemovable = this.props.location.state.isRemovable; tableKeys = this.props.location.state.tableKeys; } catch (error) { mode = tempMode; @@ -1501,7 +1503,7 @@ class DocumentView extends React.Component {
{Prom.getMode() !== 'Viewer' ? (
- {!this.props.location.state.routed ? ( + {!this.props.location.state.routed && isRemovable ? (