aboutsummaryrefslogtreecommitdiffstats
path: root/resources/src/jquery/jquery.suggestions.js
Commit message (Collapse)AuthorAgeFilesLines
...
* build: Enable jscs rules 'requireSpacesInside*Brackets' and make passJames D. Forrester2015-09-051-17/+17
| | | | Change-Id: I1cd5b9b92b6e9419d99d9a15ad88a996253ca4cf
* Track search eventsBaha Man2015-04-081-1/+19
| | | | | | | | Tracking works only for the skin-provided search box (top right search box on desktop). Also, add the 'update' option the jQuery suggestions extension. Change-Id: Icc0afcd6c9fa8c82a95d9decf988a19ae3edc165
* jquery.suggestions: Convert documentation to JSDuck formatTimo Tijhof2015-04-031-67/+96
| | | | Change-Id: I39aba7f3f0c9d397f26934446e3a5ef686d84d86
* jquery.suggestions: Document the callback context and parametersTimo Tijhof2015-04-021-3/+25
| | | | Change-Id: Ida73a836952b66476bfff4925ea6c1eee3e58b52
* Make jquery.suggestions obey maxRows settinggladoscc2015-01-051-3/+5
| | | | | | | | | | | | | The maxRows setting was previously unused and had no effect. This patch passes the property in the fetch() call, and makes it enforce the setting. Also updates mediawiki.userSuggest.js to use response() The previously unused setting of 7 is changed to 10 to match current behaviour. Bug: T39316 Change-Id: I2873963aba9fd751607d11904b94bfcec8eb2d32
* Don't replace user text with suggestion in searchboxm4tx2015-01-021-2/+0
| | | | | | | | | | | On Enter press, there was highlight() called, which also replaced the text. Since it seems to have no use here (highlight() highlights the selected suggestion in the box, but the box is immediately hidden, and there's probably no case when the suggestion is chosen, but the text in searchbox does not match it), it was removed. Bug: T53900 Change-Id: I9fc2e954ae429ba166ddc7c713f9790a25a837c2
* Merge "Avoid theoretical division by zero"jenkins-bot2014-08-171-2/+2
|\
| * Avoid theoretical division by zeroFomafix2014-05-181-2/+2
| | | | | | | | | | | | Fix white spaces. Change-Id: I7f595291253fa58c30912c97a1f6c67e53d47dc0
* | jquery.suggestions: Support caching results to save http requestsTimo Tijhof2014-06-071-6/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When typing the same thing multiple times, or when pressing backspace (thus reverting to an earlier known value), or otherwise ending up with the same value, we can re-use the data we already used. Doesn't happen in the basic case of typing one thing without mistakes and selecting a results, but happens more than one might think. People are often impatient, or even use the suggestions as their search results and based on that might try something else and then go back (e.g. try "Foo", find a good result but not ideal, try "Bar", even worse, go back to "Foo", select "Foo thing"). During this, requests for "B", "Ba", "F", "Fo" and "Foo" would be fired more than once (B-Ba when backspacing, F-Fo-Foo when typing it the second time, or simply using ctrl-Z a couple times). By default cache disabled (individual users of this plugin have to opt-in). When enabled it defaults to an expiry of 1 minute. Also: * Cleaned up computing of $textbox.val(), it was being computed several times in a synchronous block. * Simplified bool cast from foo ? true : false, to !!foo. Bug: 65581 Change-Id: Ib10c65f6ab31773b7f517b2f9c3cc7c7b93c6d39
* | jquery.suggestions: Handle CSS ellipsis better for IEBartosz Dziewoński2014-05-281-2/+14
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | IE is not impressed by our puny hacks and still reports the width "in context of" the position in the document, limited by the width of ancestor elements. Let's temporarily apply position: absolute; to the involved elements. This pulls them out of normal document flow and lets us figure out the real width at last. Also wrote a proper comment on why we need this stuff. Verified that this fixes: * IE 8 * IE 11 Verified that it doesn't break: * Firefox 3.6 * Firefox 29 * Opera 12 * Opera 22 It *does not* fix IE 6. I don't think that investigating why is a good use of my time, so I didn't. I84fbae5a made the functionality usable on IE 6, which feels good enough for me. Bug: 65224 Change-Id: I4a7357543ca244585ade2061b92f5a6d1e439278
* Merge "Update jscs and jshint config"jenkins-bot2014-05-181-2/+2
|\
| * Update jscs and jshint configTimo Tijhof2014-05-161-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Continue specifying our coding style more accurately in jscs, and phase out more deprecated jshint coding style options. jshint: * Update to grunt-contrib-jshint v0.10.0 (jshint v2.5.0). * Remove coding style option "curly" (already covered by jscs). * Remove coding style option "smarttabs" (already covered by jscs). * Remove option "regexp". * Enable new option "freeze" (prohibits changing native prototypes). http://www.jshint.com/blog/new-in-jshint-oct-2013/#option-freeze * Re-order to match http://www.jshint.com/docs/options/ jscs: * Update to grunt-contrib-jshint v0.4.4 (jscs v1.4.5). * Format .jscsrc file in a more spacious way and order the properties less arbitrarily (using the jscs's readme order). * Improve rule "requireCurlyBraces": Add more keywords that should have their code block wrapped in curly braces. * Improve rule "requireMultipleVarDecl": Use onevar instead of true. * Remove rules for "sticky operators", these rules are buggy and have been deprecated. Using the SpaceBefore/After rules for Unary and Binary operators instead. * Enable rule "disallowYodaConditions". Change-Id: I6f385e8860e91d9ef4d1f5abecf517d36af45565
* | jquery.suggestions: Use body width instead of full document widthFomafix2014-05-161-1/+1
|/ | | | | | | | | | | | When there is a overflowing element in the content, the width of the "document" is wider than the visible width within the browser window. Use <body> instead of document. This reverts 4d799b48 (a fix for bug 45668). Bug: 54091 Bug: 64233 Change-Id: I5268eaf7307159b2eaa4c5749346aa562574a6e2
* jquery.suggestions: Hide the suggestions list asynchronouslyBartosz Dziewoński2014-05-081-6/+16
| | | | | | | | | | | Hiding the link we're just clicking on causes problems when done synchronously in at least Firefox 3.6 (bug 62858) – the link is not followed. Also update incorrect and misformatted comments. Bug: 62858 Change-Id: I52ed745e66c477527b6af031c222f8f221e0328b
* jquery.suggestions: Handle CSS ellipsis when calculating suggestions' widthsBartosz Dziewoński2014-04-181-4/+6
| | | | | | | This is so nasty :( Bug: 64093 Change-Id: Ia6b1376dddf69a0faa214d5c9a756bdcd9658367
* Apply coding conventions for whitespacesFomafix2014-04-181-13/+13
| | | | Change-Id: Ibd32177ac1f608fbb480d74a573c20b6487d28c4
* jquery.suggestions: Debounce calls to $.suggestions.specialBartosz Dziewoński2014-04-101-3/+5
| | | | | | | | The custom calls used there can be comparatively expensive and it might not be a good idea to redo them on every keystroke. Bug: 59172 Change-Id: I0cdf53eec798a714825c94d80f100b5cf5841f5d
* Fix spelling: occurredSiebrand Mazeland2014-04-081-1/+1
| | | | Change-Id: Ic307db2362b00f15eaac781587bfe9c1d074194f
* Split /resources into /resources/lib and /resources/srcJames D. Forrester2014-04-071-0/+617
Currently, MediaWiki has a mess of resources, some but not all of which are upstream libraries. This means that occasionally people will attempt to make local modifications of the libraries by accident, or deliberately but do not flag it, making dependency management a challenge (and fixing upstream-related bugs a headache). Instead, we now split the /resources directory into a /resources/lib directory for those items which are used purely as intact upstream libraries, and a /resources/src directroy for those which are either local libraries written for MediaWiki and mastered here, or downstream forks of upstream libraries which require particular care and attention when being upgraded. Also, some incidental files which are not to be loaded as part of a module have been moved to better locations. Upstream libaries * jquery resources/jquery/jquery.js * jquery.appear resources/jquery/jquery.appear.js * jquery.async resources/jquery/jquery.async.js * jquery.chosen resources/jquery.chosen/* * jquery.cookie resources/jquery/jquery.cookie.js * jquery.form resources/jquery/jquery.form.js * jquery.fullscreen.js resources/jquery/jquery.fullscreen.js * jquery.hoverIntent resources/jquery/jquery.hoverIntent.js * jquery.json resources/jquery/jquery.json.js * jquery.mockjax resources/jquery/jquery.mockjax.js * jquery.qunit resources/jquery/jquery.qunit.css resources/jquery/jquery.qunit.js * jquery.jStorage resources/jquery/jquery.jStorage.js * jquery.throttle-debounce resources/jquery/jquery.ba-throttle-debounce.js * jquery.validate resources/jquery/jquery.validate.js * jquery.xmldom resources/jquery/jquery.xmldom.js * moment resources/moment/* * OOjs resource/oojs/* * OOjs UI resources/oojs-ui/* * jquery.ui.* resources/jquery.ui/* resources/jquery.ui/themes/default moved to resources/lib/jquery.ui/themes/ resources/jquery.ui/themes/vector moved to resources/src/jquery.ui-themes/ * jquery.effects.* resources/jquery.effects/* * sinon resources/sinonjs/* Upstream libraries forked for MediaWiki * jquery.color resources/jquery/jquery.color.js * jquery.tipsy resources/jquery.tipsy/* Local libraries * jquery.arrowSteps resources/jquery/jquery.arrowSteps.css resources/jquery/jquery.arrowSteps.js resources/jquery/images/jquery.arrowSteps.divider-ltr.png resources/jquery/images/jquery.arrowSteps.divider-rtl.png resources/jquery/images/jquery.arrowSteps.head-ltr.png resources/jquery/images/jquery.arrowSteps.head-rtl.png resources/jquery/images/jquery.arrowSteps.tail-ltr.png resources/jquery/images/jquery.arrowSteps.tail-rtl.png * jquery.autoEllipsis resources/jquery/jquery.autoEllipsis.js * jquery.badge resources/jquery/jquery.badge.css resources/jquery/jquery.badge.js * jquery.byteLength resources/jquery/jquery.byteLength.js * jquery.byteLimit resources/jquery/jquery.byteLimit.js * jquery.checkboxShiftClick resources/jquery/jquery.checkboxShiftClick.js * jquery.client resources/jquery/jquery.client.js * jquery.colorUtil resources/jquery/jquery.colorUtil.js * jquery.delayedBind resources/jquery/jquery.delayedBind.js * jquery.expandableField resources/jquery/jquery.expandableField.js * jquery.farbtastic resources/jquery/jquery.farbtastic.css resources/jquery/jquery.farbtastic.js resources/jquery/images/marker.png resources/jquery/images/mask.png resources/jquery/images/wheel.png * jquery.footHovzer resources/jquery/jquery.footHovzer.css resources/jquery/jquery.footHovzer.js * jquery.getAttrs resources/jquery/jquery.getAttrs.js * jquery.hidpi resources/jquery/jquery.hidpi.js * jquery.highlightText resources/jquery/jquery.highlightText.js * jquery.localize resources/jquery/jquery.localize.js * jquery.makeCollapsible resources/jquery/jquery.makeCollapsible.css resources/jquery/jquery.makeCollapsible.js * jquery.mw-jump resources/jquery/jquery.mw-jump.js * jquery.mwExtension resources/jquery/jquery.mwExtension.js * jquery.placeholder resources/jquery/jquery.placeholder.js * jquery.spinner resources/jquery/jquery.spinner.css resources/jquery/jquery.spinner.js resources/jquery/images/spinner-large.gif resources/jquery/images/spinner.gif * jquery.suggestions resources/jquery/jquery.suggestions.css resources/jquery/jquery.suggestions.js * jquery.tabIndex resources/jquery/jquery.tabIndex.js * jquery.tablesorter resources/jquery/jquery.tablesorter.css resources/jquery/jquery.tablesorter.js resources/jquery/images/sort_both.gif resources/jquery/images/sort_down.gif resources/jquery/images/sort_none.gif resources/jquery/images/sort_up.gif * jquery.textSelection resources/jquery/jquery.textSelection.js * jquery.qunit.completenessTest resources/jquery/jquery.qunit.completenessTest.js * mediawiki resources/mediawiki/mediawiki.js resources/mediawiki/mediawiki.log.js * mediawiki.api resources/mediawiki.api/mediawiki.api.js * mediawiki.api.category resources/mediawiki.api/mediawiki.api.category.js * mediawiki.api.edit resources/mediawiki.api/mediawiki.api.edit.js * mediawiki.api.login resources/mediawiki.api/mediawiki.api.login.js * mediawiki.api.parse resources/mediawiki.api/mediawiki.api.parse.js * mediawiki.api.watch resources/mediawiki.api/mediawiki.api.watch.js * mediawiki.debug resources/mediawiki/mediawiki.debug.js resources/mediawiki/mediawiki.debug.less resources/mediawiki/mediawiki.debug.profile.css resources/mediawiki/mediawiki.debug.profile.js * mediawiki.debug.init resources/mediawiki/mediawiki.debug.init.js * mediawiki.feedback resources/mediawiki/mediawiki.feedback.css resources/mediawiki/mediawiki.feedback.js resources/mediawiki/mediawiki.feedback.spinner.gif * mediawiki.hidpi resources/mediawiki/mediawiki.hidpi.js * mediawiki.hlist resources/mediawiki/mediawiki.hlist.css resources/mediawiki/mediawiki.hlist.js * mediawiki.htmlform resources/mediawiki/mediawiki.htmlform.js * mediawiki.icon resources/mediawiki/mediawiki.icon.less resources/mediawiki/images/arrow-collapsed-ltr.png resources/mediawiki/images/arrow-collapsed-ltr.svg resources/mediawiki/images/arrow-collapsed-rtl.png resources/mediawiki/images/arrow-collapsed-rtl.svg resources/mediawiki/images/arrow-expanded.png resources/mediawiki/images/arrow-expanded.svg * mediawiki.inspect resources/mediawiki/mediawiki.inspect.js * mediawiki.notification resources/mediawiki/mediawiki.notification.css resources/mediawiki/mediawiki.notification.hideForPrint.css resources/mediawiki/mediawiki.notification.js * mediawiki.notify resources/mediawiki/mediawiki.notify.js * mediawiki.searchSuggest resources/mediawiki/mediawiki.searchSuggest.css resources/mediawiki/mediawiki.searchSuggest.js * mediawiki.Title resources/mediawiki/mediawiki.Title.js * mediawiki.toc resources/mediawiki/mediawiki.toc.js * mediawiki.Uri resources/mediawiki/mediawiki.Uri.js * mediawiki.user resources/mediawiki/mediawiki.user.js * mediawiki.util resources/mediawiki/mediawiki.util.js * mediawiki.action.edit resources/mediawiki.action/mediawiki.action.edit.js * mediawiki.action.edit.styles resources/mediawiki.action/mediawiki.action.edit.styles.css * mediawiki.action.edit.collapsibleFooter resources/mediawiki.action/mediawiki.action.edit.collapsibleFooter.css resources/mediawiki.action/mediawiki.action.edit.collapsibleFooter.js * mediawiki.action.edit.preview resources/mediawiki.action/mediawiki.action.edit.preview.js * mediawiki.action.history resources/mediawiki.action/mediawiki.action.history.js * mediawiki.action.history.diff resources/mediawiki.action/mediawiki.action.history.diff.css * mediawiki.action.view.dblClickEdit resources/mediawiki.action/mediawiki.action.view.dblClickEdit.js * mediawiki.action.view.metadata resources/mediawiki.action/mediawiki.action.view.metadata.js * mediawiki.action.view.postEdit resources/mediawiki.action/mediawiki.action.view.postEdit.css resources/mediawiki.action/mediawiki.action.view.postEdit.js resources/mediawiki.action/images/green-checkmark.png * mediawiki.action.view.redirectToFragment resources/mediawiki.action/mediawiki.action.view.redirectToFragment.js * mediawiki.action.view.rightClickEdit resources/mediawiki.action/mediawiki.action.view.rightClickEdit.js * mediawiki.action.edit.editWarning resources/mediawiki.action/mediawiki.action.edit.editWarning.js * mediawiki.action.watch.ajax No files associated with this resource. * mediawiki.language resources/mediawiki.language/mediawiki.language.js resources/mediawiki.language/mediawiki.language.numbers.js resources/mediawiki.language/languages/bs.js resources/mediawiki.language/languages/dsb.js resources/mediawiki.language/languages/fi.js resources/mediawiki.language/languages/ga.js resources/mediawiki.language/languages/he.js resources/mediawiki.language/languages/hsb.js resources/mediawiki.language/languages/hu.js resources/mediawiki.language/languages/hy.js resources/mediawiki.language/languages/la.js resources/mediawiki.language/languages/os.js resources/mediawiki.language/languages/ru.js resources/mediawiki.language/languages/sl.js resources/mediawiki.language/languages/uk.js * mediawiki.cldr resources/mediawiki.language/mediawiki.cldr.js * mediawiki.libs.pluralruleparser Possibly should be moved to /lib resources/mediawiki.libs/CLDRPluralRuleParser.js * mediawiki.language.init resources/mediawiki.language/mediawiki.language.init.js * mediawiki.jqueryMsg resources/mediawiki/mediawiki.jqueryMsg.js resources/mediawiki/mediawiki.jqueryMsg.peg * mediawiki.language.months resources/mediawiki.language/mediawiki.language.months.js * mediawiki.libs.jpegmeta resources/mediawiki.libs/mediawiki.libs.jpegmeta.js * mediawiki.page.gallery resources/mediawiki.page/mediawiki.page.gallery.js * mediawiki.page.ready resources/mediawiki.page/mediawiki.page.ready.js * mediawiki.page.startup resources/mediawiki.page/mediawiki.page.startup.js * mediawiki.page.patrol.ajax resources/mediawiki.page/mediawiki.page.patrol.ajax.js * mediawiki.page.watch.ajax resources/mediawiki.page/mediawiki.page.watch.ajax.js * mediawiki.page.image.pagination resources/mediawiki.page/mediawiki.page.image.pagination.js * mediawiki.special resources/mediawiki.special/mediawiki.special.css resources/mediawiki.special/mediawiki.special.js * mediawiki.special.block resources/mediawiki.special/mediawiki.special.block.css resources/mediawiki.special/mediawiki.special.block.js * mediawiki.special.changeemail resources/mediawiki.special/mediawiki.special.changeemail.css resources/mediawiki.special/mediawiki.special.changeemail.js * mediawiki.special.changeslist resources/mediawiki.special/mediawiki.special.changeslist.css * mediawiki.special.changeslist.legend resources/mediawiki.special/mediawiki.special.changeslist.legend.css * mediawiki.special.changeslist.legend.js resources/mediawiki.special/mediawiki.special.changeslist.legend.js * mediawiki.special.changeslist.enhanced resources/mediawiki.special/mediawiki.special.changeslist.enhanced.css * mediawiki.special.movePage resources/mediawiki.special/mediawiki.special.movePage.js * mediawiki.special.pagesWithProp resources/mediawiki.special/mediawiki.special.pagesWithProp.css * mediawiki.special.preferences resources/mediawiki.special/mediawiki.special.preferences.css resources/mediawiki.special/mediawiki.special.preferences.js * mediawiki.special.recentchanges resources/mediawiki.special/mediawiki.special.recentchanges.js * mediawiki.special.search resources/mediawiki.special/mediawiki.special.search.css resources/mediawiki.special/mediawiki.special.search.js * mediawiki.special.undelete resources/mediawiki.special/mediawiki.special.undelete.js * mediawiki.special.upload resources/mediawiki.special/mediawiki.special.upload.js * mediawiki.special.userlogin.common.styles resources/mediawiki.special/mediawiki.special.userlogin.common.css resources/mediawiki.special/images/icon-lock.png * mediawiki.special.userlogin.signup.styles resources/mediawiki.special/mediawiki.special.userlogin.signup.css resources/mediawiki.special/images/icon-edits.png resources/mediawiki.special/images/icon-pages.png resources/mediawiki.special/images/icon-contributors.png * mediawiki.special.userlogin.login.styles resources/mediawiki.special/mediawiki.special.userlogin.login.css resources/mediawiki.special/images/glyph-people-large.png * mediawiki.special.userlogin.common.js resources/mediawiki.special/mediawiki.special.userlogin.common.js * mediawiki.special.userlogin.signup.js resources/mediawiki.special/mediawiki.special.userlogin.signup.js * mediawiki.special.javaScriptTest resources/mediawiki.special/mediawiki.special.javaScriptTest.js * mediawiki.special.version resources/mediawiki.special/mediawiki.special.version.css * mediawiki.ui resources/mediawiki.ui/default.less resources/mediawiki.ui/vector.less resources/mediawiki.ui/components/utilities.less resources/mediawiki.ui/components/default/forms.less resources/mediawiki.ui/components/vector/containers.less resources/mediawiki.ui/components/vector/forms.less resources/mediawiki.ui/mixins/effects.less resources/mediawiki.ui/mixins/forms.less resources/mediawiki.ui/mixins/type.less resources/mediawiki.ui/mixins/utilities.less resources/mediawiki.ui/settings/colors.less resources/mediawiki.ui/settings/typography.less resources/mediawiki.ui/styleguide.md * mediawiki.ui.button resources/mediawiki.ui/components/default/buttons.less resources/mediawiki.ui/components/vector/buttons.less Legacy modules, untouched: * mediawiki.legacy.ajax * mediawiki.legacy.commonPrint * mediawiki.legacy.config * mediawiki.legacy.protect * mediawiki.legacy.shared * mediawiki.legacy.oldshared * mediawiki.legacy.upload * mediawiki.legacy.wikibits Miscellaneous files moved elsewhere * A currently-failing (unused?) script attempting to build some kss style documentation. Previously in the root of the resources directory, now moved to a new folder, /docs/kss. Makefile README.txt package.json scripts/nodecheck.sh styleguide-template/index.html styleguide-template/public/kss.less styleguide-template/public/less.js * ResourceLoader startup JS code was also moved to /src resources/startup.js * mediawiki.mixins, hard-coded to be loaded by ResourceLoader, also moved to /src resources/mediawiki.less/mediawiki.mixins.animation.less resources/mediawiki.less/mediawiki.mixins.less resources/mediawiki.less/mediawiki.mixins.rotation.less * jquery.cycle.all.js appears not to be refered to (?!): (added in 2f1f0abc6b) resources/jquery/jquery.cycle.all.js Change-Id: Id5ead1453412e763bdb3763084e43694517088fd