Skip to content

Commit ef0ae9b

Browse files
committed
layer add form - closes #8
1 parent 675b0c2 commit ef0ae9b

File tree

13 files changed

+297
-99
lines changed

13 files changed

+297
-99
lines changed

package-lock.json

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/App.css

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,22 @@ a:hover{text-decoration:none;color:#0094A0;}
1313

1414
.inline-block{display:inline-block;}
1515

16+
.ac-dropdown{position:absolute;top:61px;left:0;right:0;border:1px solid #BDBDBD;
17+
background-color:#FFFFFF;z-index:2;}
18+
.ac-dropdown .link-list{cursor:pointer;}
19+
.ac-dropdown .link-list:hover{background-color:#F1F1F1;}
20+
.ac-dropdown .link-list:active, .ac-dropdown .link-list.active{background-color:#00ACC1;color:#fff;}
21+
22+
1623
.alert{font-size:0.8em;}
1724
.alert .alert-danger{background-color:#FFD7DA;border-color:#FFD7DA;color:#D33D34;}
1825
.alert-dismissible .close{padding:0.5rem;}
1926

20-
.btn.btn-primary{background-color:#00ACC1;}
21-
.btn.btn-primary:hover{background-color:#0094A0;}
27+
.btn.btn-primary{background-color:#00ACC1;border-color:#00A7B6;}
28+
.btn.btn-primary:hover{background-color:#00A7B6;border-color:#0094A0;}
29+
.btn.btn-primary:active{background-color:#0094A0;border-color:#0094A0;}
30+
31+
.btn.btn-light:focus{box-shadow:0 0 0 0.2rem rgba(0,123,255,.25);}
2232

2333
/* Rules for sizing the icon. */
2434
.material-icons{vertical-align:middle;}
@@ -35,9 +45,11 @@ a:hover{text-decoration:none;color:#0094A0;}
3545
.icon-btn.gray{color:#37474F;}
3646
.icon-btn.gray:hover{color:#273237;}
3747

48+
.form-control .btn-right{float:right;position:relative;top:-3px;right:-9px;}
49+
3850
.link-list{font-size:0.88em;color:#37474F;text-decoration:none;
3951
overflow-wrap:break-word;word-wrap:break-word;word-break: break-word;
40-
font-weight:400;}
52+
font-weight:400;text-overflow:ellipsis;overflow:hidden;white-space: nowrap;}
4153
.link-list:hover{color:#273237;text-decoration:none;background-color:#FFF;}
4254
.link-list.active{background-color:#FFF;}
4355
.link-list.error{color:#D33D34;}

src/App.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ import {Provider} from 'react-redux';
99

1010
import Store from './Store';
1111

12+
// npm install --save-dev josdejong/jsonlint
13+
1214
export default class App extends Component {
1315

1416
render (){

src/model/Mlayer.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,22 +20,22 @@ export default {
2020
add:(layer)=>{
2121

2222
return new Promise((resolve,reject)=>{
23-
if (!layer.id) throw new Error('no layerId');
23+
if (!layer.id) return reject('no layerId');
2424

2525
Store.dispatch({
2626
type:'LAYER_ADD',
2727
payload:layer
2828
});
2929

3030
Mstyle.save();
31-
return resolve();
31+
return resolve(layer);
3232
});
3333

3434
},
3535

3636
set:(layerId,layer)=>{
3737
return new Promise((resolve,reject)=>{
38-
if (!layerId) throw new Error('no layerId');
38+
if (!layerId) return reject('no layerId');
3939

4040
Store.dispatch({
4141
type:'LAYER_SET',
@@ -51,7 +51,7 @@ export default {
5151

5252
setIn:(layerId,prop,val)=>{
5353
return new Promise((resolve,reject)=>{
54-
if (!layerId) throw new Error('no layerId');
54+
if (!layerId) return reject('no layerId');
5555

5656
Store.dispatch({
5757
type:'LAYER_SETIN',

src/model/Msource.js

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,8 @@ export default {
4444
key:['sourceJson',key],
4545
payload:sourceJson
4646
});
47+
48+
Mstyle.save();
4749
}).catch((e)=>{
4850
return reject(e);
4951
});
@@ -116,6 +118,24 @@ export default {
116118
});
117119
return options;
118120
},
121+
getLayerOptions:function(key){
122+
let options = [];
123+
const sourceLayers = this.getLayers(key);
124+
125+
if (!sourceLayers) return null;
126+
127+
//console.log('sources:',sources);
128+
sourceLayers.map((layer)=>{
129+
//console.log('source layer:',layer);
130+
//const source = sources.get(key);
131+
options.push({
132+
name:layer.get('name'),
133+
value:layer.get('name')
134+
});
135+
return;
136+
});
137+
return options;
138+
},
119139
getLayers:function(key){
120140
return Store.getState().style.getIn(['rec','_store','sourceJson',key,'vector_layers']);
121141
},

0 commit comments

Comments
 (0)