Commit Graph

58 Commits

Author SHA1 Message Date
Kyle Hensel 3a3d977f7e add preview for colour input 2021-11-04 15:05:23 +13:00
Quincy Morgan cb7f1c2b3c Update to id-tagging-schema v3.0.0
Add UI for translatable combo fields
2020-12-08 15:23:51 -05:00
Quincy Morgan ba48a861bc Enable curly and block-spacing eslint rules 2020-11-10 14:19:11 -05:00
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