Commit Graph

55 Commits

Author SHA1 Message Date
Quincy Morgan
5f93da5a59 Add a reusable function for calculating the combined extent of multiple entities (re: #7706) 2020-06-16 13:17:43 -04:00
Quincy Morgan
4467c4a501 Fix issue where spaces couldn't be typed in the changeset comment (re: #6817) 2020-06-11 10:52:58 -04:00
Quincy Morgan
874c412b74 Enforce max unicode charachter length of keys, values, and relation roles through truncation upon input rather than HTML maxlength attribute (close #6817)
Normalize unicode when changing keys, values, and relation roles
2020-06-10 14:11:55 -04:00
Quincy Morgan
2d02d452a9 Fix issue with the address field not displaying a localized format 2020-05-29 10:33:45 -04:00
Quincy Morgan
8734b67821 Remove the context.intersects passthrough function 2020-04-01 15:36:53 -07:00
Quincy Morgan
60f7dc7c0b Replace presets property of context with singleton
Remove utilPreset
2020-04-01 13:08:45 -07:00
Quincy Morgan
a1af118f0e Ensure locales and presets are loaded before the UI loads (close #7406)
Consolidate localization behavior and init to a coreLocalizer function and singleton
Explicitly support `en-US` locale
Rename coreData to coreFileFetcher and export a singleton rather than using a property of coreContext
Add `apiConnections` property of coreContext to simplify adding a source switcher
Replace some init functions with re-callable, promise-supporting `ensureLoaded` functions
Make coreContext itself load the UI if a container has been specified at init time
Fix code tests
2020-03-31 12:23:31 -07:00
Quincy Morgan
fac613e1dc Remove context.childNodes function 2020-03-21 13:56:11 -07:00
Quincy Morgan
b3262a71dc Use newlines instead of semicolons to separate mutliselection tag values in tooltips (re: #7306) 2020-01-31 10:49:31 -05:00
Quincy Morgan
1b331bb678 Add mechanism for fields to support editing during multiselection (re: #7276)
Add `utilCombinedTags` method and use it for the raw tag editor as well as fields
Pass `entityIDs` array into fields instead of single `entity` object
Give field revertion its own path separate from `change`
Add multiselection editing to fields in files: access, address, check, combo, cycleway, input, maxspeed, textarea, and wikidata
2020-01-30 13:53:29 -05:00
Bryan Housel
567eeac587 Make several data external instead of bundled:
Also dist/data/* contains minified files now

These are now external and will fetch as needed:
-export { dataAddressFormats } from './address-formats.json';
-export { dataDeprecated } from './deprecated.json';
-export { dataDiscarded } from './discarded.json';
-export { dataLanguages } from './languages.json';
-export { dataPhoneFormats } from './phone-formats.json';
-export { dataShortcuts } from './shortcuts.json';
-export { dataTerritoryLanguages } from './territory-languages.json';
2020-01-28 22:21:31 -05:00
Quincy Morgan
89ce98f510 Don't require services/osm in order to get max OSM character lengths 2020-01-28 09:28:23 -05:00
Quincy Morgan
17ae12b3d7 Address most common places where tag keys or values could exceed the 255 character API limit (close #6817) 2020-01-27 15:57:55 -05:00
Bryan Housel
16ff2b1373 Upgrade country-coder to scoped package @ideditor/country-coder 2019-12-02 13:51:04 -05:00
Quincy Morgan
71bfeb5a9f Fix lint warnings 2019-11-07 20:16:05 +01:00
Quincy Morgan
d89996e52c Update country-coder to 2.0.0 (close #7029)
Localize address field in walkthrough without overwriting country coder function
2019-11-07 18:45:46 +01:00
Quincy Morgan
8c0740191f Replace remaining nominatim countryCode calls with country-coder calls (close #6941) 2019-11-01 18:15:35 +01:00
Quincy Morgan
51dbdb4f27 Add country-coder as a dependency
Use country-coder to code addresses (re: #6941)
2019-11-01 17:03:51 +01:00
Quincy Morgan
b065de0550 Generalize the address field type
Add `amenity=letter_box` preset with `post:*` field (close #6718)
2019-08-07 09:48:19 -05:00
Quincy Morgan
d01bb78707 Reduce circular dependencies caused by importing from indexes, the location of the validation models, and the location of areaKeys (close #6237) 2019-04-24 13:45:59 -07:00
Bryan Housel
3896b2282f Remove lodash isNaN, isNumber, isString, bind, uniqBy
(re: 6087)
2019-03-27 23:11:45 -04:00
Bryan Housel
33a40f59eb Remove lodash includes and reduce from address.js
(re #6087)
2019-03-26 12:20:58 -04:00
Bryan Housel
ff4f8f005f Remove lodash find and findIndex
(re: #6087)
2019-03-22 17:31:41 -04:00
Bryan Housel
6525bbf154 Exclude current entity's value from address nearby values lookup
re: https://github.com/openstreetmap/iD/issues/5887#issuecomment-463385328
2019-02-14 00:27:32 -05:00
Bryan Housel
9e2acd836c Use case sensitive combos in address fields
(closes #5887)

This allows users to correct mistyped address parts
2019-02-14 00:20:38 -05:00
Bryan Housel
39b3f1df68 Avoid creating comboboxes
(closes #5568)

Several strategies in here:
- Move uiCombobox() from inside the render function to class variable
- Don't render stuff like the raw tag editor when it's collapsed
- Don't show as many fields/combos on hover
- Don't instantiate fields (like universal/more) until they're actually shown
- Bind the combo on enter selection not on update selection
2018-12-11 16:07:00 -05:00
Bryan Housel
15a54cab17 Use context.container instead of passing it in 2018-12-10 14:14:27 -05:00
Bryan Housel
e5dedeff8b Move lib/d3.combobox.js -> ui/combobox.js
As with other things from this lib/ folder, little original code remains
and turning these things into reusable d3 plugins is not a priority.
2018-12-10 12:38:21 -05:00
Bryan Housel
d0612ba519 Fix css for address and wikipedia fields, fix hover styles 2018-11-28 23:20:52 -05:00
Bryan Housel
958d7fac4f wip changing all fields to use flexbox everywhere 2018-11-28 18:15:38 -05:00
Bryan Housel
4533603a88 preset-input-wrap -> form-field-input-wrap
This better describes what it does.
Also, took this opportunity to update a bunch of the uifield code
(no multi line variable declarations, prefix state variables with _,
eliminate unnecessray lodash, etc)
2018-11-27 10:54:03 -05:00
Bryan Housel
19dfcc0162 Exclude non-administrative boundary from address city suggestions
(closes #5034)
2018-05-14 14:00:12 -04:00
Bryan Housel
6d65a1c89a Convert lodah-es and d3 to named imports for ui/fields 2017-09-26 00:17:13 -04:00
Bryan Housel
92d6d51724 Mock geocoder in walkthrough so we can localize address field 2017-04-21 17:53:37 -04:00
Bryan Housel
5f44c9a00a Add combobox menus to id-container instead of document.body
(re: https://github.com/openstreetmap/iD/issues/3925#issuecomment-290718356)
2017-03-31 13:44:55 -04:00
Bryan Housel
2314acfec7 Add utilNoAuto to remove autocorrect/spellcheck features from inputs
(closes #3839)
2017-02-14 17:19:24 -05:00
Bryan Housel
8d191cd34a More careful address div selection to avoid data binding combobox caret
(closes #3715)
2017-01-31 15:10:20 -05:00
Bryan Housel
d09fd15092 Cleanups and rename service nominatim -> geocoder 2017-01-17 16:56:23 +05:30
Natsuyasumi
e1640a1e39 Merge branch 'master' into address-customization 2017-01-04 22:19:09 +01:00
Bryan Housel
fc5aea739f Update fontstack to use better system fonts over Helvetecia Neue 2017-01-02 18:51:12 -05:00
Bryan Housel
fac0429c4c Don't call updateTags extra times
(closes #3650)
2016-12-17 22:38:28 -05:00
Mikołaj "Natsuyasumi" Kuranowski
aafb77c7ec Small fixes 2016-12-09 15:08:16 +01:00
Mikołaj "Natsuyasumi" Kuranowski
3d9009725e Address customization 2016-12-09 13:33:15 +01:00
Bryan Housel
cb6801c2b6 Address field improvements and bugfixes
(closes #3553)

* eliminate duplicate values in suggestions
* set minItems(1) on all combo boxes
* setup dropdowns for all common address fields
2016-11-05 23:48:14 -04:00
Bryan Housel
053074d076 Export live binding for services in iD.services, fix init/reset
(closes #3324)

Previously we allowed devs to swap out services that they didn't need.
This became difficult now that ES6 exports are immutable bindings.
But we can wrap the immutable bindings themselves in a live object,
to get back the flexibility that we used to have.

This change also drops the `taginfo` accessor on Context, since devs who want
to swap out taginfo service with something else can now do so through the live
binding.  `iD.services.taginfo = myTaginfo()`
2016-10-14 10:38:09 -04:00
Bryan Housel
3102a4ae6a Rename all the things to include pseudonamespaces 2016-10-04 19:06:20 -04:00
Bryan Housel
c5a8bcc3a6 More fixes to fields 2016-09-18 12:57:23 -04:00
Tom MacWright
ed135ce9ef Enable lib tests 2016-09-05 10:22:45 -04:00
Tom MacWright
c5b3a16d3a Fix getSetValue, fix line display 2016-09-03 16:39:30 -04:00
Bryan Housel
a86f34b4ef Pacify eslint, get build and tests running again 2016-08-26 01:15:07 -04:00