mirror of
https://github.com/FoggedLens/iD.git
synced 2026-05-01 16:08:00 +02:00
updated categories, added category to note service
This commit is contained in:
+13
-9
@@ -305,19 +305,23 @@ en:
|
||||
# castle_type=*
|
||||
label: Type
|
||||
category:
|
||||
# 'none=*, option1=*, option2=*, option3=*, option4=*'
|
||||
# 'none=*, updateDetails=*, missing=*, wrongLocation=*, groundtruth=*, doesNotExist=*, discussion=*'
|
||||
label: Category
|
||||
options:
|
||||
# discussion=yes
|
||||
discussion: Needs discussing
|
||||
# doesNotExist=yes
|
||||
doesNotExist: Does not or never existed
|
||||
# groundtruth=yes
|
||||
groundtruth: Ground truth or needs local confirmation
|
||||
# missing=yes
|
||||
missing: Something is missing
|
||||
# none=yes
|
||||
none: None
|
||||
# option1=yes
|
||||
option1: Option1
|
||||
# option2=yes
|
||||
option2: Option2
|
||||
# option3=yes
|
||||
option3: Option3
|
||||
# option4=yes
|
||||
option4: Option4
|
||||
# updateDetails=yes
|
||||
updateDetails: Update or add details
|
||||
# wrongLocation=yes
|
||||
wrongLocation: Wrong location
|
||||
# category field placeholder
|
||||
placeholder: Unknown
|
||||
clothes:
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
"capacity": {"key": "capacity", "type": "number", "minValue": 0, "label": "Capacity", "placeholder": "50, 100, 200..."},
|
||||
"cash_in": {"key": "cash_in", "type": "check", "label": "Cash In"},
|
||||
"castle_type": {"key": "castle_type", "type": "combo", "label": "Type"},
|
||||
"category": {"type": "radio", "keys": ["none", "option1", "option2", "option3", "option4"], "label": "Category", "placeholder": "Unknown", "strings": {"options": {"none": "None", "option1": "Option1", "option2": "Option2", "option3": "Option3", "option4": "Option4"}}},
|
||||
"category": {"type": "radio", "keys": ["none", "updateDetails", "missing", "wrongLocation", "groundtruth", "doesNotExist", "discussion"], "label": "Category", "placeholder": "Unknown", "strings": {"options": {"none": "None", "updateDetails": "Update or add details", "missing": "Something is missing", "wrongLocation": "Wrong location", "groundtruth": "Ground truth or needs local confirmation", "doesNotExist": "Does not or never existed", "discussion": "Needs discussing"}}},
|
||||
"clothes": {"key": "clothes", "type": "semiCombo", "label": "Clothes"},
|
||||
"club": {"key": "club", "type": "typeCombo", "label": "Type"},
|
||||
"collection_times": {"key": "collection_times", "type": "text", "label": "Collection Times"},
|
||||
|
||||
@@ -2,20 +2,24 @@
|
||||
"type": "radio",
|
||||
"keys": [
|
||||
"none",
|
||||
"option1",
|
||||
"option2",
|
||||
"option3",
|
||||
"option4"
|
||||
"updateDetails",
|
||||
"missing",
|
||||
"wrongLocation",
|
||||
"groundtruth",
|
||||
"doesNotExist",
|
||||
"discussion"
|
||||
],
|
||||
"label": "Category",
|
||||
"placeholder": "Unknown",
|
||||
"strings": {
|
||||
"options": {
|
||||
"none": "None",
|
||||
"option1": "Option1",
|
||||
"option2": "Option2",
|
||||
"option3": "Option3",
|
||||
"option4": "Option4"
|
||||
"updateDetails": "Update or add details",
|
||||
"missing": "Something is missing",
|
||||
"wrongLocation": "Wrong location",
|
||||
"groundtruth": "Ground truth or needs local confirmation",
|
||||
"doesNotExist": "Does not or never existed",
|
||||
"discussion": "Needs discussing"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+80
-24
@@ -6376,30 +6376,86 @@
|
||||
{"key": "cash_in", "description": "Cash In"},
|
||||
{"key": "castle_type", "description": "Type"},
|
||||
{"key": "none", "value": "none", "description": "Category"},
|
||||
{"key": "none", "value": "option1", "description": "Category"},
|
||||
{"key": "none", "value": "option2", "description": "Category"},
|
||||
{"key": "none", "value": "option3", "description": "Category"},
|
||||
{"key": "none", "value": "option4", "description": "Category"},
|
||||
{"key": "option1", "value": "none", "description": "Category"},
|
||||
{"key": "option1", "value": "option1", "description": "Category"},
|
||||
{"key": "option1", "value": "option2", "description": "Category"},
|
||||
{"key": "option1", "value": "option3", "description": "Category"},
|
||||
{"key": "option1", "value": "option4", "description": "Category"},
|
||||
{"key": "option2", "value": "none", "description": "Category"},
|
||||
{"key": "option2", "value": "option1", "description": "Category"},
|
||||
{"key": "option2", "value": "option2", "description": "Category"},
|
||||
{"key": "option2", "value": "option3", "description": "Category"},
|
||||
{"key": "option2", "value": "option4", "description": "Category"},
|
||||
{"key": "option3", "value": "none", "description": "Category"},
|
||||
{"key": "option3", "value": "option1", "description": "Category"},
|
||||
{"key": "option3", "value": "option2", "description": "Category"},
|
||||
{"key": "option3", "value": "option3", "description": "Category"},
|
||||
{"key": "option3", "value": "option4", "description": "Category"},
|
||||
{"key": "option4", "value": "none", "description": "Category"},
|
||||
{"key": "option4", "value": "option1", "description": "Category"},
|
||||
{"key": "option4", "value": "option2", "description": "Category"},
|
||||
{"key": "option4", "value": "option3", "description": "Category"},
|
||||
{"key": "option4", "value": "option4", "description": "Category"},
|
||||
{"key": "none", "value": "updateDetails", "description": "Category"},
|
||||
{"key": "none", "value": "missing", "description": "Category"},
|
||||
{"key": "none", "value": "wrongLocation", "description": "Category"},
|
||||
{"key": "none", "value": "groundtruth", "description": "Category"},
|
||||
{"key": "none", "value": "doesNotExist", "description": "Category"},
|
||||
{"key": "none", "value": "discussion", "description": "Category"},
|
||||
{"key": "updateDetails", "value": "none", "description": "Category"},
|
||||
{
|
||||
"key": "updateDetails",
|
||||
"value": "updateDetails",
|
||||
"description": "Category"
|
||||
},
|
||||
{"key": "updateDetails", "value": "missing", "description": "Category"},
|
||||
{
|
||||
"key": "updateDetails",
|
||||
"value": "wrongLocation",
|
||||
"description": "Category"
|
||||
},
|
||||
{"key": "updateDetails", "value": "groundtruth", "description": "Category"},
|
||||
{
|
||||
"key": "updateDetails",
|
||||
"value": "doesNotExist",
|
||||
"description": "Category"
|
||||
},
|
||||
{"key": "updateDetails", "value": "discussion", "description": "Category"},
|
||||
{"key": "missing", "value": "none", "description": "Category"},
|
||||
{"key": "missing", "value": "updateDetails", "description": "Category"},
|
||||
{"key": "missing", "value": "missing", "description": "Category"},
|
||||
{"key": "missing", "value": "wrongLocation", "description": "Category"},
|
||||
{"key": "missing", "value": "groundtruth", "description": "Category"},
|
||||
{"key": "missing", "value": "doesNotExist", "description": "Category"},
|
||||
{"key": "missing", "value": "discussion", "description": "Category"},
|
||||
{"key": "wrongLocation", "value": "none", "description": "Category"},
|
||||
{
|
||||
"key": "wrongLocation",
|
||||
"value": "updateDetails",
|
||||
"description": "Category"
|
||||
},
|
||||
{"key": "wrongLocation", "value": "missing", "description": "Category"},
|
||||
{
|
||||
"key": "wrongLocation",
|
||||
"value": "wrongLocation",
|
||||
"description": "Category"
|
||||
},
|
||||
{"key": "wrongLocation", "value": "groundtruth", "description": "Category"},
|
||||
{
|
||||
"key": "wrongLocation",
|
||||
"value": "doesNotExist",
|
||||
"description": "Category"
|
||||
},
|
||||
{"key": "wrongLocation", "value": "discussion", "description": "Category"},
|
||||
{"key": "groundtruth", "value": "none", "description": "Category"},
|
||||
{"key": "groundtruth", "value": "updateDetails", "description": "Category"},
|
||||
{"key": "groundtruth", "value": "missing", "description": "Category"},
|
||||
{"key": "groundtruth", "value": "wrongLocation", "description": "Category"},
|
||||
{"key": "groundtruth", "value": "groundtruth", "description": "Category"},
|
||||
{"key": "groundtruth", "value": "doesNotExist", "description": "Category"},
|
||||
{"key": "groundtruth", "value": "discussion", "description": "Category"},
|
||||
{"key": "doesNotExist", "value": "none", "description": "Category"},
|
||||
{
|
||||
"key": "doesNotExist",
|
||||
"value": "updateDetails",
|
||||
"description": "Category"
|
||||
},
|
||||
{"key": "doesNotExist", "value": "missing", "description": "Category"},
|
||||
{
|
||||
"key": "doesNotExist",
|
||||
"value": "wrongLocation",
|
||||
"description": "Category"
|
||||
},
|
||||
{"key": "doesNotExist", "value": "groundtruth", "description": "Category"},
|
||||
{"key": "doesNotExist", "value": "doesNotExist", "description": "Category"},
|
||||
{"key": "doesNotExist", "value": "discussion", "description": "Category"},
|
||||
{"key": "discussion", "value": "none", "description": "Category"},
|
||||
{"key": "discussion", "value": "updateDetails", "description": "Category"},
|
||||
{"key": "discussion", "value": "missing", "description": "Category"},
|
||||
{"key": "discussion", "value": "wrongLocation", "description": "Category"},
|
||||
{"key": "discussion", "value": "groundtruth", "description": "Category"},
|
||||
{"key": "discussion", "value": "doesNotExist", "description": "Category"},
|
||||
{"key": "discussion", "value": "discussion", "description": "Category"},
|
||||
{"key": "clothes", "description": "Clothes"},
|
||||
{"key": "collection_times", "description": "Collection Times"},
|
||||
{"key": "comment", "description": "Changeset Comment"},
|
||||
|
||||
Vendored
+6
-4
@@ -1672,10 +1672,12 @@
|
||||
"placeholder": "Unknown",
|
||||
"options": {
|
||||
"none": "None",
|
||||
"option1": "Option1",
|
||||
"option2": "Option2",
|
||||
"option3": "Option3",
|
||||
"option4": "Option4"
|
||||
"updateDetails": "Update or add details",
|
||||
"missing": "Something is missing",
|
||||
"wrongLocation": "Wrong location",
|
||||
"groundtruth": "Ground truth or needs local confirmation",
|
||||
"doesNotExist": "Does not or never existed",
|
||||
"discussion": "Needs discussing"
|
||||
}
|
||||
},
|
||||
"clothes": {
|
||||
|
||||
@@ -9,7 +9,6 @@ export function actionMoveNote(noteID, toLoc) {
|
||||
|
||||
var note = services.osm.getNote(noteID);
|
||||
note.move(geoVecInterp(note.loc, toLoc, t));
|
||||
console.log('moved: ', note.loc);
|
||||
// TODO: update
|
||||
};
|
||||
|
||||
|
||||
@@ -875,10 +875,13 @@ export default {
|
||||
|
||||
if (!note.loc[0] || !note.loc[1] || !note.newComment) return; // location & description required
|
||||
|
||||
var comment = note.newComment;
|
||||
if (note.newCategory && note.newCategory !== 'None') { comment += ' #' + note.newCategory; }
|
||||
var path = '/api/0.6/notes?' +
|
||||
'lat=' + note.loc[1] +
|
||||
'&lon=' + note.loc[0] +
|
||||
'&' + utilQsString({ text: note.newComment });
|
||||
'&' + utilQsString({ text: comment });
|
||||
|
||||
_noteCache.inflightPost[note.id] = oauth.xhr(
|
||||
{ method: 'POST', path: path },
|
||||
wrapcb(this, done, _connectionID)
|
||||
|
||||
@@ -1,63 +0,0 @@
|
||||
import { dispatch as d3_dispatch } from 'd3-dispatch';
|
||||
import { select as d3_select, selectAll as d3_selectAll } from 'd3-selection';
|
||||
|
||||
import { services } from '../services';
|
||||
import { uiField } from './field';
|
||||
import { uiFormFields } from './form_fields';
|
||||
|
||||
export function uiNoteCategory(context) {
|
||||
var formFields = uiFormFields(context);
|
||||
var _note;
|
||||
var _fieldsArr;
|
||||
|
||||
function noteCategory(selection) {
|
||||
|
||||
if (!_note.isNew()) return; // don't add category
|
||||
|
||||
var initial = false;
|
||||
|
||||
if (!_fieldsArr) {
|
||||
initial = true;
|
||||
var presets = context.presets();
|
||||
|
||||
_fieldsArr = [
|
||||
uiField(context, presets.field('category'), null, { show: true, revert: false }),
|
||||
];
|
||||
|
||||
_fieldsArr.forEach(function(field) {
|
||||
field
|
||||
.on('change', change);
|
||||
});
|
||||
}
|
||||
|
||||
selection
|
||||
.append('div')
|
||||
.attr('class', 'note-category')
|
||||
.call(formFields.fieldsArr(_fieldsArr));
|
||||
|
||||
function change() {
|
||||
var val = d3_select('input[name=\'category\']:checked').property('value') || undefined;
|
||||
// NOTE: perhaps there is a better way to get value, something like ...
|
||||
// var input = d3_select(this);
|
||||
// var val = input.property('value') || undefined;
|
||||
|
||||
// store the unsaved comment with the note itself
|
||||
_note = _note.update({ newCategory: val });
|
||||
|
||||
var osm = services.osm;
|
||||
if (osm) {
|
||||
osm.replaceNote(_note); // update note cache
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
noteCategory.note = function(_) {
|
||||
if (!arguments.length) return _note;
|
||||
_note = _;
|
||||
return noteCategory;
|
||||
};
|
||||
|
||||
|
||||
return noteCategory;
|
||||
}
|
||||
@@ -9,6 +9,9 @@ import { services } from '../services';
|
||||
import { modeBrowse } from '../modes';
|
||||
import { svgIcon } from '../svg';
|
||||
|
||||
import { uiField } from './field';
|
||||
import { uiFormFields } from './form_fields';
|
||||
|
||||
import {
|
||||
uiNoteComments,
|
||||
uiNoteHeader,
|
||||
@@ -20,15 +23,17 @@ import {
|
||||
utilNoAuto,
|
||||
utilRebind
|
||||
} from '../util';
|
||||
import { uiNoteCategory } from './note_category';
|
||||
|
||||
|
||||
export function uiNoteEditor(context) {
|
||||
var dispatch = d3_dispatch('change');
|
||||
var noteComments = uiNoteComments();
|
||||
var noteCategory = uiNoteCategory(context);
|
||||
var noteHeader = uiNoteHeader();
|
||||
|
||||
var formFields = uiFormFields(context);
|
||||
|
||||
var _note;
|
||||
var _fieldsArr;
|
||||
|
||||
|
||||
function noteEditor(selection) {
|
||||
@@ -109,8 +114,38 @@ export function uiNoteEditor(context) {
|
||||
.append('div')
|
||||
.attr('class', 'note-save save-section cf');
|
||||
|
||||
// if new note, show categories to pick from
|
||||
if (_note.isNew()) {
|
||||
noteSaveEnter.call(noteCategory.note(_note));
|
||||
var presets = context.presets();
|
||||
|
||||
// NOTE: this key isn't a age and therefore there is no documentation (yet)
|
||||
_fieldsArr = [
|
||||
uiField(context, presets.field('category'), null, { show: true, revert: false }),
|
||||
];
|
||||
|
||||
_fieldsArr.forEach(function(field) {
|
||||
field
|
||||
.on('change', changeCategory);
|
||||
});
|
||||
|
||||
noteSaveEnter
|
||||
.append('div')
|
||||
.attr('class', 'note-category')
|
||||
.call(formFields.fieldsArr(_fieldsArr));
|
||||
}
|
||||
|
||||
function changeCategory() {
|
||||
// NOTE: perhaps there is a better way to get value
|
||||
var val = d3_select('input[name=\'category\']:checked').property('__data__') || undefined;
|
||||
|
||||
// store the unsaved category with the note itself
|
||||
_note = _note.update({ newCategory: val });
|
||||
var osm = services.osm;
|
||||
if (osm) {
|
||||
osm.replaceNote(_note); // update note cache
|
||||
}
|
||||
noteSave
|
||||
.call(noteSaveButtons);
|
||||
}
|
||||
|
||||
noteSaveEnter
|
||||
@@ -127,8 +162,8 @@ export function uiNoteEditor(context) {
|
||||
.attr('maxlength', 1000)
|
||||
.property('value', function(d) { return d.newComment; })
|
||||
.call(utilNoAuto)
|
||||
.on('input', change)
|
||||
.on('blur', change);
|
||||
.on('input', changeInput)
|
||||
.on('blur', changeInput);
|
||||
|
||||
// update
|
||||
noteSave = noteSaveEnter
|
||||
@@ -137,7 +172,7 @@ export function uiNoteEditor(context) {
|
||||
.call(noteSaveButtons);
|
||||
|
||||
|
||||
function change() {
|
||||
function changeInput() {
|
||||
var input = d3_select(this);
|
||||
var val = input.property('value').trim() || undefined;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user