Skip to content

Commit 632b03f

Browse files
authored
Merge pull request #59 from go-spatial/source-polish
Source polish
2 parents 0736590 + 2e91265 commit 632b03f

File tree

21 files changed

+211
-252
lines changed

21 files changed

+211
-252
lines changed

src/model/Msource.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,16 @@ export default {
113113

114114
Mstyle.save();
115115

116+
const now = new Date().getTime() // set the reload stamp to now
117+
118+
Store.dispatch({
119+
type:'SOURCE_RELOAD',
120+
payload:{
121+
sourceKey:key,
122+
when:now
123+
}
124+
});
125+
116126
return resolve();
117127
});
118128
},

src/model/Mstyle.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -164,13 +164,13 @@ const Mstyle = {
164164

165165
errorAdd:function(error){
166166
return new Promise((resolve,reject)=>{
167-
168167
const key = MapboxError.getKey(error);
169168
const message = MapboxError.getMessage(error);
170169

171170
const err = {
172171
key:key,
173-
message:message
172+
message:message,
173+
error:error,
174174
};
175175

176176
Store.dispatch({

src/page/Phome.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import Vnav from '../view/Vnav';
88
import VstyleAdd from '../view/Vstyles/VstyleAdd';
99
import Vstyles from '../view/Vstyles';
1010

11-
import {NavLink, Link, Route, Switch} from 'react-router-dom';
11+
import {Link, Route, Switch} from 'react-router-dom';
1212

1313

1414
const mapStoreToProps = (store)=>{

src/page/Pstyle.jsx

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,11 @@ import Valert from '../view/Valert';
88
import Vmap from '../view/Vmap';
99
import Vstyle from '../view/Vstyle';
1010

11-
import Vpanel from '../view/Vpanel';
12-
import Mpanel from '../model/Mpanel';
13-
1411
const mapStoreToProps = (store)=>{
1512
return {
1613
style:store.style,
1714
error:store.styleError
18-
} // props
15+
}
1916
};
2017
const mapDispatchToProps = {};
2118

src/page/Pstyles.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import Vnav from '../view/Vnav';
88
import VstyleAdd from '../view/Vstyles/VstyleAdd';
99
import Vstyles from '../view/Vstyles';
1010

11-
import {NavLink, Link, Route, Switch} from 'react-router-dom';
11+
import {Link, Route, Switch} from 'react-router-dom';
1212

1313

1414
const mapStoreToProps = (store)=>{

src/reducer/Rstyle.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@ import {Map, List, fromJS} from 'immutable';
22

33
const iState = Map({
44
loaded:false,
5-
rec:undefined
5+
rec:undefined,
6+
rebuildMap:null,
67
});
78

89
export default function(state = iState, action){
@@ -98,7 +99,6 @@ export default function(state = iState, action){
9899
return layer.get('id') === action.layerId;
99100
});
100101
if (ind === -1) throw new Error('layer matching layerId not found');
101-
const val = fromJS(action.payload);
102102
const style = state.removeIn(['rec','layers',ind, ...action.prop]);
103103
return setUpdated(style);
104104
}
@@ -107,6 +107,10 @@ export default function(state = iState, action){
107107
const style = state.setIn(['rec','sources',action.key],source);
108108
return setUpdated(style);
109109
}
110+
case 'SOURCE_RELOAD':{
111+
const style = state.setIn(['rebuildMap'], new Date().getTime())
112+
return style
113+
}
110114
default:
111115
return state;
112116
}

src/reducer/RstyleError.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,17 @@
1-
import {Map, List, fromJS} from 'immutable';
1+
import {Map} from 'immutable';
22

33
const iState = Map({});
44

55
export default function(state = iState, action){
66
switch (action.type){
77
case 'STYLE_ERROR_DEFINE':{
88
let errors = Map();
9-
//console.log('STYLE_ERROR_DEFINE',action.payload);
109
action.payload.forEach((error)=>{
1110
errors = errors.setIn(error.key,error.message);
1211
});
1312
return errors;
1413
}
1514
case 'STYLE_ERROR_ADD':{
16-
//console.log('STYLE_ERROR_DEFINE',action.payload);
1715
return state.setIn(action.payload.key,action.payload.message);
1816
}
1917
default:

src/utility/MapboxError.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ export default {
88
}
99
*/
1010

11-
if (!error || !error.message || error.message.indexOf(':') === -1) return ['general'];
12-
const prefix = error.message.split(':')[0];
11+
if (!error || !error.message || error.message.indexOf(': ') === -1) return ['general'];
12+
const prefix = error.message.split(': ')[0];
1313
const parts = prefix.split('.');
1414
let key = [];
1515
parts.forEach((part)=>{
@@ -30,7 +30,7 @@ export default {
3030
if (!error) return;
3131
if (!error.message && error.stack) return error.stack;
3232
if (!error.message && !error.stack) return 'unidentified mapbox error';
33-
if (error.message.indexOf(':') === -1) return error.message;
34-
return error.message.split(':')[1];
33+
if (error.message.indexOf(': ') === -1) return error.message;
34+
return error.message.split(': ')[1];
3535
}
3636
};

src/view/Vcode/index.jsx

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import React from 'react';
33
import Mstyle from '../../model/Mstyle';
44
import Vfield from '../Vfield';
55

6-
export default class Vsources extends React.Component {
6+
export default class Vcode extends React.Component {
77
constructor(props) {
88
super(props);
99
this.state = {};
@@ -25,8 +25,6 @@ export default class Vsources extends React.Component {
2525

2626
const maxContentH = window.innerHeight - 44;
2727

28-
console.log('code render errs:',errors);
29-
3028
const field = {
3129
value:Mstyle.getMapStyle(),
3230
error:errors,

src/view/Vconfig/index.jsx

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,6 @@ export default class Vconfig extends React.Component {
1111
config: PropTypes.object
1212
}
1313

14-
constructor(props) {
15-
super(props);
16-
const {} = props;
17-
18-
19-
}
20-
2114
render (){
2215
const {config, error, handle} = this.props;
2316

src/view/Vfeature/index.jsx

Lines changed: 4 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,16 @@ export default class Vfeature extends React.Component {
1414
}
1515

1616
render (){
17-
const {features, handle} = this.props;
18-
19-
// get property values
17+
const {features} = this.props;
2018

2119
let cols = ['id'];
2220
features.map((feature)=>{
23-
if (!feature.properties) return;
21+
if (!feature.properties) return null;
2422
Object.keys(feature.properties).map((i)=>{
2523
if (cols.indexOf(i) === -1) cols.push(i);
24+
return null;
2625
});
26+
return null;
2727
});
2828

2929
let ids = [];
@@ -36,7 +36,6 @@ export default class Vfeature extends React.Component {
3636
return false;
3737
});
3838

39-
4039
return <table className="table font-sm table-sm">
4140
<thead>
4241
<tr>
@@ -58,20 +57,5 @@ export default class Vfeature extends React.Component {
5857
</tbody>
5958

6059
</table>
61-
62-
/*
63-
64-
{features.map((feature)=>{
65-
66-
console.log('feature:',feature);
67-
68-
return <li key={feature.id} onClick={()=>{this.handle.featureClick(feature);}}><a href="javascript://">
69-
{Object.keys(feature.properties).map((i)=>{
70-
return i+': '+feature.properties[i];
71-
})}
72-
</a></li>
73-
})}
74-
75-
*/
7660
}
7761
};

src/view/Vfield/VfieldAC.jsx

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ export default class VfieldAC extends React.Component {
1212
name: PropTypes.string.isRequired,
1313
value: PropTypes.string,
1414
placeholder: PropTypes.string,
15-
helper: PropTypes.string,
1615
error: PropTypes.string,
1716
options: PropTypes.array,
1817
autoFocus: PropTypes.boolean,
@@ -38,8 +37,6 @@ export default class VfieldAC extends React.Component {
3837
this.state.value = field.value;
3938
}
4039

41-
//console.log('AC handle:',handle);
42-
4340
this.handle = {
4441
inputChange:(e)=>{
4542
this.setState({inputValue: e.target.value});
@@ -102,7 +99,6 @@ export default class VfieldAC extends React.Component {
10299
this.handle.change(value);
103100
},
104101
liClick:(value)=>{
105-
console.log('li click:',value);
106102
this.handle.select(value);
107103
},
108104
cancel:()=>{
@@ -124,7 +120,6 @@ export default class VfieldAC extends React.Component {
124120
if (handle.selectedClick) handle.selectedClick();
125121
},
126122
selectedKeyUp:(e)=>{
127-
console.log('selected keyUp',e);
128123
/*
129124
if (e.key === 'ArrowDown'){
130125
this.props.handle.focusNext();
@@ -175,23 +170,24 @@ export default class VfieldAC extends React.Component {
175170
}
176171

177172
render (){
178-
const {field, handle} = this.props;
173+
const {field} = this.props;
179174
const value = field.controlled ? this.state.value : field.value;
180175

181-
//console.log('handle change:',value);
182176
if (value !== null && value.length > 0 && (!this.state.mode || this.state.mode === 'view')){
183177

184178
//check if value is valid option, if not show error
179+
/*
185180
let found = false;
186181
for (let i=0,len=field.options.length;i<len;i++){
187182
let option = field.options[i];
188183
if (option.value === value){
189184
found = true;
190185
}
191186
}
192-
187+
*/
193188
let error = null; //(!found)? 'expression not found': null;
194189

190+
195191
return <div className="form-group mb-0 position-relative">
196192
{field.label && <label className="mb-0">{field.label}</label>}
197193
{field.icon && <i className="material-icons md-18">{field.icon}</i>}

src/view/Vfield/VfieldColor.jsx

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ export default class VfieldColor extends React.Component {
1616
name: PropTypes.string.isRequired,
1717
value: PropTypes.string,
1818
placeholder: PropTypes.string,
19-
helper: PropTypes.string,
2019
error: PropTypes.string,
2120
options: PropTypes.array,
2221
autoFocus: PropTypes.boolean
@@ -85,8 +84,6 @@ export default class VfieldColor extends React.Component {
8584
}
8685
},
8786
colorSet:(color)=>{
88-
console.log('color:',color);
89-
9087
let value;
9188
switch(color.source){
9289
case 'rgb':
@@ -123,7 +120,7 @@ export default class VfieldColor extends React.Component {
123120
}
124121

125122
render (){
126-
const {field, handle, error} = this.props;
123+
const {field, error} = this.props;
127124
const value = field.controlled ? this.state.value : field.value || '';
128125

129126
const colors = MaterialColor.getAll();

src/view/Vfield/VfieldFile.jsx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ export default class VfieldFile extends React.Component {
1111
name: PropTypes.string.isRequired,
1212
value: PropTypes.object,
1313
placeholder: PropTypes.string,
14-
helper: PropTypes.string,
1514
error: PropTypes.string
1615
}),
1716
handle: PropTypes.object
@@ -30,7 +29,6 @@ export default class VfieldFile extends React.Component {
3029
this.handle = {
3130
change:(e)=>{
3231
const file = e.target.files[0];
33-
const name = e.target.name;
3432
if (controlled){
3533
this.setState({value:file});
3634
}

src/view/Vlayer/VlayerEdit.jsx

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import VlayerEditor from './VlayerEditor';
88
import VlayerDelete from './VlayerDelete';
99

1010
import Mlayer from '../../model/Mlayer';
11-
import Mstyle from '../../model/Mstyle';
1211

1312
export default class VlayerEdit extends React.Component {
1413

@@ -83,10 +82,6 @@ export default class VlayerEdit extends React.Component {
8382

8483
const layerError = error.getIn(['layers',Mlayer.getInd(this.id)]);
8584

86-
//console.log('layer err:',error);
87-
88-
// change map mode to show_hidden source layers
89-
9085
if (layer === undefined){
9186
return <Valert message="no layer found"/>;
9287
}
@@ -99,7 +94,9 @@ export default class VlayerEdit extends React.Component {
9994
case 'edit':
10095
section = <VlayerEditor key={this.id} handle={handle} error={layerError} layer={layer}/>;
10196
break;
102-
97+
default:
98+
section = <VlayerEditor key={this.id} handle={handle} error={layerError} layer={layer}/>;
99+
break;
103100
}
104101

105102
switch (this.state.modal){

src/view/Vlayer/VlayerGroup/VlayerGroupSettings.jsx

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import Vproperty from '../../Vproperty';
77
import VpropertyAdd from '../../Vproperty/VpropertyAdd';
88

99
import Mlayer from '../../../model/Mlayer';
10-
import Msource from '../../../model/Msource';
1110

1211
export default class VlayerGroupSettings extends React.Component {
1312
static propTypes = {
@@ -22,7 +21,6 @@ export default class VlayerGroupSettings extends React.Component {
2221

2322
this.handle = {
2423
change:(field)=>{
25-
console.log('change:',field);
2624
Mlayer.setIn(layer.get('id'),[field.name],field.value);
2725
},
2826
focus:handle.focus
@@ -36,8 +34,6 @@ export default class VlayerGroupSettings extends React.Component {
3634
render (){
3735
const {layer, handle, focus, error} = this.props;
3836

39-
const layerId = layer.get('id');
40-
4137
const spec = styleSpec.latest.layer;
4238

4339
let addSpec = {
@@ -60,7 +56,7 @@ export default class VlayerGroupSettings extends React.Component {
6056

6157
return <div className="">
6258
{layer.keySeq().map((key)=>{
63-
if (!addSpec[key]) return;
59+
if (!addSpec[key]) return <div/>;
6460

6561
return <Vproperty key={key} property={{
6662
name:key,

0 commit comments

Comments
 (0)