Skip to content

Commit 67b93ad

Browse files
committed
expanded settings properties
1 parent c04056a commit 67b93ad

File tree

5 files changed

+40
-16
lines changed

5 files changed

+40
-16
lines changed

src/view/Vlayer/VlayerAdd.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ export default class VlayerAdd extends React.Component {
2222

2323
this.state = {
2424
id:null,
25-
source:null,
2625
type:null,
26+
source:null,
2727
'source-layer':null,
2828
error:null
2929
};

src/view/Vlayer/VlayerGroup/VlayerGroupLayout.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ export default class VlayerGroupLayout extends React.Component {
5757
spec:spec[key],
5858
value:layerGroup.get(key),
5959
error:error && error.get && error.get(key)
60-
}} key={name} focus={focus} handle={handle}/>
60+
}} focus={focus} handle={handle}/>
6161
})}
6262
<div className="property">
6363
<VpropertyAdd

src/view/Vlayer/VlayerGroup/VlayerGroupPaint.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ export default class VlayerGroupPaint extends React.Component {
5757
spec:spec[key],
5858
value:layerGroup.get(key),
5959
error:error && error.get && error.get(key)
60-
}} key={name} focus={focus} handle={handle}/>
60+
}} focus={focus} handle={handle}/>
6161
})}
6262

6363
<div className="property">

src/view/Vlayer/VlayerGroup/VlayerGroupSettings.jsx

Lines changed: 35 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ export default class VlayerGroupSettings extends React.Component {
3434
}
3535

3636
render (){
37-
const {style, layer, focus} = this.props;
37+
const {layer, handle, focus, error} = this.props;
3838

3939
const typeOptions = Mlayer.getTypes();
4040
const sourceOptions = Msource.getOptions();
@@ -44,29 +44,52 @@ export default class VlayerGroupSettings extends React.Component {
4444

4545
const layerId = layer.get('id');
4646

47-
let properties = ['type'];
48-
if (layer.get('type') !== 'background') properties.push('source');
49-
if (layer.has('source')) properties.push('source-layer');
50-
5147
const spec = styleSpec.latest.layer;
5248

53-
console.log('spec:',spec);
49+
let addSpec = {
50+
id:spec.id,
51+
type:spec.type,
52+
source:spec.source,
53+
'source-layer':spec['source-layer'],
54+
filter:spec.filter,
55+
maxzoom:spec.maxzoom,
56+
minzoom:spec.minzoom
57+
};
5458

59+
if (layer.get('type') === 'background'){
60+
delete addSpec.source;
61+
delete addSpec.filter;
62+
delete addSpec.minzoom;
63+
delete addSpec.maxzoom;
64+
}
65+
if (!layer.has('source')) delete addSpec['source-layer'];
66+
67+
console.log('addSpec:',addSpec);
5568

5669
//console.log('source options:',sourceOptions);
5770
// loop through editable layer props and display edit interface for each
5871

5972
return <div className="">
60-
{properties.map((key)=>{
61-
return <Vproperty property={{
73+
{layer.keySeq().map((key)=>{
74+
if (!addSpec[key]) return;
75+
76+
return <Vproperty key={key} property={{
6277
name:key,
6378
label:key,
64-
spec:spec[key],
79+
spec:addSpec[key],
6580
value:layer.get(key),
66-
error:null,
67-
required:true
68-
}} key={key} focus={focus} handle={this.handle}/>
81+
error:error && error.get && error.get(key),
82+
required:addSpec[key].required
83+
}} focus={focus} handle={handle}/>
6984
})}
85+
86+
<div className="property">
87+
<VpropertyAdd
88+
spec={addSpec}
89+
layerGroup={layer}
90+
focus={focus}
91+
handle={handle}/>
92+
</div>
7093
</div>;
7194
}
7295
};

src/view/Vproperty/VpropertyAdd.jsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ export default class VpropertyAdd extends React.Component {
2828

2929
const prop = field.value;
3030
const value = spec && spec[prop] && spec[prop].default || null;
31-
const name = groupName + '.' + prop;
31+
const name = (groupName)? groupName + '.' + prop: prop;
3232

3333
this.setState({show:false});
3434

@@ -59,6 +59,7 @@ export default class VpropertyAdd extends React.Component {
5959

6060
let propOptions = [];
6161
for (let i in spec){
62+
//console.log('check:',spec[i],group.get(i));
6263
if (group.has(i)) continue;
6364
propOptions.push({
6465
name:i,

0 commit comments

Comments
 (0)