Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Export #179

Merged
merged 68 commits into from
Jan 19, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
68 commits
Select commit Hold shift + click to select a range
86ce3d1
Merge pull request #162 from netcreateorg/dev
jdanish Feb 4, 2021
e2c1bdf
filter: Stop tracking netcreate-config.js. This is an autogenerated …
benloh Nov 10, 2021
23ee166
filter: Move comment to the correct code block.
benloh Nov 10, 2021
7287873
filter: lint - disable complexity complaint.
benloh Nov 10, 2021
a47e7ee
filter: Rename "Filters" panel to "Highlight"
benloh Nov 10, 2021
15f84f2
filter: Add Filter tab.
benloh Nov 10, 2021
3288d1d
filter: Add 'filterAction' to Filter components.
benloh Nov 10, 2021
ac62e84
filter: Show different help text based on filter action.
benloh Nov 10, 2021
79a8bf8
filter: Disallow input if filter operator is not yet selected.
benloh Nov 11, 2021
c8426b5
filters: Just use 'filteredTransparency' instead of also using 'isFil…
benloh Nov 11, 2021
a97cce6
filters: Move 'componentWillUnmount' call to proper order (before cus…
benloh Nov 11, 2021
6bed8f2
filters: Combine Highlight and Filter into a single tab with a toggle…
benloh Nov 11, 2021
3d43e0b
filters: Update FILTERED_D3DATA when D3DATA is updated. This will tr…
benloh Nov 11, 2021
b6f67c8
filters: Only do graph redraw on FILTERED_D3DATA changes, not on D3DA…
benloh Nov 11, 2021
60f9245
filter: Rewrite `m_FiltersApplyTo*` to handle either highlighting or …
benloh Nov 11, 2021
45fc055
filter: Clarify filter behavior.
benloh Nov 11, 2021
4b0cf18
filter: Fix InfoPanel tab indices.
benloh Nov 11, 2021
a87673e
filter: Disable select filter value if NO_OP.
benloh Nov 12, 2021
5285d60
filter: Specify summary type. Remove summary field if no filters are…
benloh Nov 12, 2021
59d36b3
filter: Lint/clean up formatting.
benloh Nov 15, 2021
26454d6
filter: Change FILTERED_D3DATA message to FILTEREDD3DATA app state. …
benloh Nov 16, 2021
2dde6a2
filter: Lint
benloh Nov 16, 2021
8b64258
filter: Improve NodeTable and EdgeTable layout. Tighten up spacing, …
benloh Nov 16, 2021
1d30df4
filter: Remove edgeCount code, replaced by `degrees`, which is calcul…
benloh Nov 16, 2021
a246604
filter: Lint/doc.
benloh Nov 16, 2021
32f5196
filter: Remove stray edgeCount refernces.
benloh Nov 16, 2021
897f553
filter: Show highlighted/filtered state in NodeTable.
benloh Nov 16, 2021
2588af7
filter: Show highlighted/filtered state in EdgeTable
benloh Nov 16, 2021
ced9393
filter: Doc
benloh Nov 16, 2021
6e491d5
filter: Prevent "Enter" on Filters from submitting form. Addresses #…
benloh Nov 16, 2021
2bb2ac5
filter: Use 'visibilioty' to hide graph when not logged in. Don't us…
benloh Nov 17, 2021
531078d
filter: lint
benloh Nov 17, 2021
7812e9b
filter: Add ZOOM_PAN_RESET call.
benloh Nov 17, 2021
5b4b7ab
export: Add "Export" button to Help tab.
benloh Nov 19, 2021
de464f8
export: Handle "Export" click
benloh Nov 19, 2021
cdfb27c
export: Add export-logic to handle export request.
benloh Nov 19, 2021
6868516
filter: Fix filter-logic to selectively use edge.source or edge.sourc…
benloh Nov 19, 2021
abcf809
Merge branch 'dev-bl/filter' into dev-bl/export
benloh Nov 20, 2021
2736565
export: Fix "Can't perform a React state update on an unmounted compo…
benloh Nov 20, 2021
341494b
export: Set background color of zoom buttons to translucent so they'r…
benloh Nov 30, 2021
3d9be86
export: FormGroups unset flex-flow to prevent fields from overflowing.
benloh Nov 30, 2021
3533bc8
export: Skip FILFTER_DEFINE if UDATA is not defined.
benloh Nov 30, 2021
798830f
export: Remove FiltersPanel from InfoPanel
benloh Nov 30, 2021
2039f8b
export: Show Filters as collapsible sidebar panel.
benloh Nov 30, 2021
c1194bc
export: Show "Help" above FIlter sidebar.
benloh Nov 30, 2021
0dc1531
export: Reduce size of FIlter button.
benloh Nov 30, 2021
b4efdc6
export: Add padding to Vocab panel.
benloh Nov 30, 2021
69feb50
export: Combine Help and Vocab into More panel. Add ImportExport panel.
benloh Dec 1, 2021
4f5f66f
export: Split out Export Nodes from Export Edges.
benloh Dec 1, 2021
c8b0372
export: Coordinate layout of More and Filters.
benloh Dec 2, 2021
9a2c17e
export: Improve FilterPanel layout and design.
benloh Dec 2, 2021
a9b53b9
export: Changes in transparency should skip resetting FDATA filterAct…
benloh Dec 3, 2021
6d27e9e
export: Better coordination between filters and NodeTable and EdgeTab…
benloh Dec 3, 2021
1d26ad1
export: doc
benloh Dec 3, 2021
c579fa0
export: Escape double quotes in exports.
benloh Dec 4, 2021
71e108a
export: Set default sort direction A-Z for NodeTable and EdgeTable. …
benloh Dec 4, 2021
9cb693c
export: Lint fixes.
benloh Dec 17, 2021
d73d447
export: Remove unused bIgnoreTableUpdates hack.
benloh Dec 17, 2021
733d202
export: Fix InfoPanel dragger height calculation. Addresses #182.
benloh Dec 17, 2021
5250199
export: Use 'const' not 'let'
benloh Dec 17, 2021
5f2d8de
export: Lint fixes.
benloh Dec 17, 2021
fed9445
export: Make NodeTable and EdgeTable headers sticky so they don't scr…
benloh Dec 17, 2021
ab69101
export: Remove Vocabular from InfoPanel
benloh Dec 17, 2021
e8915b9
export: Fix Search label overlapping "Add Node" button. Addresses #178
benloh Dec 18, 2021
7ae2478
export: InfoPanel tab buttons are now narrower so the "FILTER" button…
benloh Dec 18, 2021
112dba8
export: Lint
benloh Dec 18, 2021
bb9ed70
export: Clear DBG state.
benloh Dec 18, 2021
6f2a1ed
export: Hacky override export headers. This will be eventually be re…
benloh Jan 19, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 0 additions & 9 deletions build/app/assets/netcreate-config.js

This file was deleted.

67 changes: 60 additions & 7 deletions build/app/view/netcreate/NetCreate.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -44,10 +44,13 @@ const PR = PROMPTS.Pad('ACD');
/// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
const React = require('react');
const { Route } = require('react-router-dom');
const ReactStrap = require('reactstrap');
const { Button } = ReactStrap;
const NetGraph = require('./components/NetGraph');
const Search = require('./components/Search');
const NodeSelector = require('./components/NodeSelector');
const InfoPanel = require('./components/InfoPanel');
const FiltersPanel = require('./components/filter/FiltersPanel');
const NCLOGIC = require('./nc-logic'); // require to bootstrap data loading
const FILTERLOGIC = require('./filter-logic'); // handles filtering functions

Expand All @@ -62,7 +65,9 @@ const FILTERLOGIC = require('./filter-logic'); // handles filtering functions
isConnected: true,
isLoggedIn: false,
requireLogin: this.AppState('TEMPLATE').requireLogin,
disconnectMsg: ''
disconnectMsg: '',
layoutNodesOpen: true,
layoutFiltersOpen: false
};
this.OnDOMReady(()=>{
if (DBG) console.log(PR,'OnDOMReady');
Expand All @@ -85,8 +90,10 @@ const FILTERLOGIC = require('./filter-logic'); // handles filtering functions
// so that we can show a message explaining the cause of disconnect.
// this.setState({ isConnected: false });
});

this.onStateChange_SESSION = this.onStateChange_SESSION.bind(this);
this.onDisconnect = this.onDisconnect.bind(this);
this.onFilterBtnClick = this.onFilterBtnClick.bind(this);

this.OnAppStateChange('SESSION', this.onStateChange_SESSION);

Expand Down Expand Up @@ -124,24 +131,44 @@ const FILTERLOGIC = require('./filter-logic'); // handles filtering functions
this.AppStateChangeOff('SESSION',this.onStateChange_SESSION);
}

/// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
onFilterBtnClick(e) {
this.setState(state => {
return {layoutFiltersOpen: !state.layoutFiltersOpen}
})
}


/// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
/*/ Define the component structure of the web application
/*/ render() {
const { isLoggedIn, disconnectMsg } = this.state;
let hideGraph = false;
if (this.state.requireLogin && !isLoggedIn) hideGraph = true;
const { isLoggedIn, disconnectMsg, layoutNodesOpen, layoutFiltersOpen } = this.state;

// show or hide graph
// Use 'visibiliity' css NOT React's 'hidden' so size is properly
// calculated on init
let hideGraph = 'visible';
if (this.state.requireLogin && !isLoggedIn) hideGraph = 'hidden';

return (
<div>
<div hidden={this.state.isConnected} style={{ width:'100%',height:'38px',position:'fixed',backgroundColor:'rgba(256,0,0,0.5',display:'flex',flexDirection:'column',justifyContent:'space-evenly',alignItems:'center',zIndex:'3000'}}>
<div hidden={this.state.isConnected} style={{
width: '100%', height: '38px', position: 'fixed',
backgroundColor: 'rgba(256,0,0,0.5',
display: 'flex', flexDirection: 'column',
justifyContent: 'space-evenly', alignItems: 'center', zIndex: '3000'
}}>
<div style={{color:'#fff',width:'100%',textAlign:'center'}}>
<b>{disconnectMsg}!</b> Your changes will not be saved! Please report "{disconnectMsg}" to your administrator to restart the graph.
</div>
</div>
<Route path='/edit/:token' exact={true} component={SessionShell}/>
<Route path='/edit' exact={true} component={SessionShell}/>
<Route path='/' exact={true} component={SessionShell}/>
<div hidden={hideGraph} style={{display:'flex', flexFlow:'row nowrap',
width:'100%', height:'100vh',overflow:'hidden'}}>
<div style={{display:'flex', flexFlow:'row nowrap',
width: '100%', height: '100vh', overflow: 'hidden',
visibility: hideGraph
}}>
<div id="left" style={{backgroundColor:'#EEE',flex:'1 1 25%',maxWidth:'400px',padding:'10px',overflow:'scroll',marginTop:'38px'}}>
<div style={{display:'flex',flexFlow:'column nowrap'}}>
<Search/>
Expand All @@ -158,6 +185,32 @@ const FILTERLOGIC = require('./filter-logic'); // handles filtering functions
request information contained on this website in an accessible
format.</div>
</div>
{layoutFiltersOpen
// OPEN
? <div id="right" style={{
marginTop: '38px', padding: '0 5px', backgroundColor: '#6c757d',
borderTopLeftRadius: '10px', width: 'auto'
}}>
<div style={{ display: 'flex', flexDirection: 'column', alignItems: 'end' }}>
<Button onClick={this.onFilterBtnClick}
style={{ width: '90px' }}
>
FILTER &gt;
</Button>
<FiltersPanel />
</div>
</div>
// CLOSED
: <div id="right" style={{
marginTop: '38px', paddingTop: '0px', backgroundColor: '#6c757d',
width: '10px', height: '100%'
}}>
<Button
onClick={this.onFilterBtnClick}
style={{ width: '90px', float: 'right' }}
>&lt; FILTER</Button>
</div>
}
</div>
</div>
); // end return
Expand Down
Loading