mirror of
https://github.com/FoggedLens/iD.git
synced 2026-02-13 09:12:52 +00:00
Add Disable All and Enable All buttons for the Map Features list (close #5234)
This commit is contained in:
@@ -3384,7 +3384,8 @@ button.autofix.action.active {
|
||||
}
|
||||
|
||||
.layer-list.issue-rules-list,
|
||||
.layer-list.issues-list {
|
||||
.layer-list.issues-list,
|
||||
.layer-list.layer-feature-list {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.section-footer {
|
||||
|
||||
@@ -274,6 +274,17 @@ export function rendererFeatures(context) {
|
||||
}
|
||||
};
|
||||
|
||||
features.enableAll = function() {
|
||||
var didEnable = false;
|
||||
for (var k in _rules) {
|
||||
if (!_rules[k].enabled) {
|
||||
didEnable = true;
|
||||
_rules[k].enable();
|
||||
}
|
||||
}
|
||||
if (didEnable) update();
|
||||
};
|
||||
|
||||
|
||||
features.disable = function(k) {
|
||||
if (_rules[k] && _rules[k].enabled) {
|
||||
@@ -282,6 +293,17 @@ export function rendererFeatures(context) {
|
||||
}
|
||||
};
|
||||
|
||||
features.disableAll = function() {
|
||||
var didDisable = false;
|
||||
for (var k in _rules) {
|
||||
if (_rules[k].enabled) {
|
||||
didDisable = true;
|
||||
_rules[k].disable();
|
||||
}
|
||||
}
|
||||
if (didDisable) update();
|
||||
};
|
||||
|
||||
|
||||
features.toggle = function(k) {
|
||||
if (_rules[k]) {
|
||||
|
||||
@@ -662,13 +662,44 @@ export function uiMapData(context) {
|
||||
|
||||
|
||||
function renderFeatureList(selection) {
|
||||
var container = selection.selectAll('.layer-feature-list')
|
||||
var container = selection.selectAll('.layer-feature-list-container')
|
||||
.data([0]);
|
||||
|
||||
_featureList = container.enter()
|
||||
var containerEnter = container.enter()
|
||||
.append('div')
|
||||
.attr('class', 'layer-feature-list-container');
|
||||
|
||||
containerEnter
|
||||
.append('ul')
|
||||
.attr('class', 'layer-list layer-feature-list')
|
||||
.merge(container);
|
||||
.attr('class', 'layer-list layer-feature-list');
|
||||
|
||||
var footer = containerEnter
|
||||
.append('div')
|
||||
.attr('class', 'feature-list-links section-footer');
|
||||
|
||||
footer
|
||||
.append('a')
|
||||
.attr('class', 'feature-list-link')
|
||||
.attr('href', '#')
|
||||
.text(t('issues.enable_all'))
|
||||
.on('click', function() {
|
||||
context.features().enableAll();
|
||||
});
|
||||
|
||||
footer
|
||||
.append('a')
|
||||
.attr('class', 'feature-list-link')
|
||||
.attr('href', '#')
|
||||
.text(t('issues.disable_all'))
|
||||
.on('click', function() {
|
||||
context.features().disableAll();
|
||||
});
|
||||
|
||||
// Update
|
||||
container = container
|
||||
.merge(containerEnter);
|
||||
|
||||
_featureList = container.selectAll('.layer-feature-list');
|
||||
|
||||
updateFeatureList();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user