Commit Graph

39 Commits

Author SHA1 Message Date
Joffrey JAFFEUX
0431942f3d
DEV: select-kit 2 (#7998)
This new iteration of select-kit focuses on following best principales and disallowing mutations inside select-kit components. A best effort has been made to avoid breaking changes, however if you content was a flat array, eg: ["foo", "bar"] You will need to set valueProperty=null and nameProperty=null on the component.

Also almost every component should have an `onChange` handler now to decide what to do with the updated data. **select-kit will not mutate your data by itself anymore**
2020-02-03 14:22:14 +01:00
Jarek Radosz
fe588cc7f8
DEV: Fix function prototype deprecations (#8681)
* DEV: Fix the function prototype observers deprecation

DEPRECATION: Function prototype extensions have been deprecated, please migrate from function(){}.observes('foo') to observer('foo', function() {}). [deprecation id: function-prototype-extensions.observes] See https://deprecations.emberjs.com/v3.x/#toc_function-prototype-extensions-observes for more details.

* DEV: Fix the function prototype event listeners deprecation

DEPRECATION: Function prototype extensions have been deprecated, please migrate from function(){}.on('foo') to on('foo', function() {}). [deprecation id: function-prototype-extensions.on] See https://deprecations.emberjs.com/v3.x/#toc_function-prototype-extensions-on for more details.

* DEV: Simplify `default as` imports

Co-authored-by: Joffrey JAFFEUX <j.jaffeux@gmail.com>
2020-01-16 18:56:53 +01:00
Mark VanLandingham
6275c05c0d
DEV: Move computed to discourseComputed (#8312) 2019-11-07 15:38:28 -06:00
Joffrey JAFFEUX
b3eb67976d
DEV: Upgrades to Ember 3.10 (#7871)
Co-Authored-By: majakomel <maja.komel@gmail.com>
2019-07-16 12:45:15 +02:00
Joffrey JAFFEUX
d93f753b17
apply prettier on gigantic find and replace (#7604) 2019-05-27 10:42:53 +02:00
Joffrey JAFFEUX
bfea922167
DEV: global s/this.get\("(\w+)"\)/this.$1 (#7592) 2019-05-27 10:15:39 +02:00
Joffrey JAFFEUX
6398ded798 Revert "FIX: ensures selection is lookedup into async content (#7586)"
This reverts commit c238f0d223.
2019-05-25 15:50:41 +02:00
Joffrey JAFFEUX
c238f0d223
FIX: ensures selection is lookedup into async content (#7586) 2019-05-22 17:11:19 +02:00
Joffrey JAFFEUX
c093fa0376
PERF: reduces cpu/memory consumption of sk in some cases (#7525) 2019-05-10 17:12:10 +02:00
Joffrey JAFFEUX
2e881adb6e
FIX: select-kit perf and positioning improvements (#7093) 2019-03-04 10:30:22 +01:00
Joffrey JAFFEUX
502b1316d0
DEV: s/this._super()/this._super(...arguments) (#6908) 2019-01-19 10:05:51 +01:00
Joffrey JAFFEUX
e06a8980fb
FIX: category-drop initial state was incorrect (#6743) 2018-12-10 14:05:00 +01:00
Joffrey JAFFEUX
8da8f5d0f7
FIX: call onSelect plugin callbacks for noop rows (#6682) 2018-11-29 15:56:19 +01:00
Joffrey JAFFEUX
9911a41f4c
FIX: improves category/tag drops header shortcuts (#6610)
- wont appear when filtering
- can now be selected with keyboard
- fix bugs on click with safari/firefox
2018-11-15 15:21:40 +01:00
Joffrey JAFFEUX
fdad24e2e4
FIX: edit category tags select-kit inputs width were wrong (#6568) 2018-11-06 11:30:12 +01:00
Kris
5f042a2c8d Prevent move to new topic tag input from becoming too wide on click 2018-09-20 16:12:08 -04:00
Joffrey JAFFEUX
38668818a5
FIX: allows forcing unsafe string in select-kit (#6386)
forceEscape will be defaulted to true before next release.
2018-09-12 12:19:04 +02:00
Joffrey JAFFEUX
17087eff2a
FIX: Reset tags on category change (#6363) 2018-09-05 17:18:52 +02:00
Joffrey JAFFEUX
eb9b99e519
FIX: makes select-kit match searches with accents (filter and content) 2018-06-26 12:19:14 +02:00
Joffrey JAFFEUX
03a7d532cf
DEV: introduces prettier for es6 files 2018-06-15 17:03:24 +02:00
Joffrey JAFFEUX
1be76d066c
FIX: forces boolean when content is only "true" && "false" 2018-05-24 23:41:39 +02:00
Joffrey JAFFEUX
f0fe16d824
FEATURE: implements minimum selection for select-kit 2018-04-05 16:45:19 +02:00
Joffrey JAFFEUX
d48542796e
FIX: select-kit refactoring
- improve mini-tag-chooser keyboard behavior
- all multil select now respond to select all and left/right arrows
- improve events handling
- many minor tweaks
2018-03-22 11:29:55 +01:00
Joffrey JAFFEUX
057fa049e6
FIX: display keyboard on mobile when focusing mini-tag-chooser 2018-03-05 10:55:20 +01:00
Joffrey JAFFEUX
ac701696b3
FEATURE: replaces tag-chooser/tag-group-chooser with select-kit component
These component were also the last using select2. As a consequence select2 is removed from Discourse in this commit.
2018-02-26 11:42:57 +01:00
Joffrey JAFFEUX
6bfc25d895
FEATURE: new {{mini-tag-chooser}} replaces {{tag-chooser}} in composer 2018-02-13 17:23:12 +01:00
Joffrey JAFFEUX
56834dbd98
FEATURE: select-kit api to modify collection header 2018-01-26 14:42:24 +01:00
Joffrey JAFFEUX
3ee7b18886
FIX: disable by default limitMatches 2018-01-11 09:54:39 +01:00
Joffrey JAFFEUX
3ec2024466
select-kit refactoring
* improve events naming/handling
* do not explicitly check for true/Fasle
* make sure header is re-computed on toggle
2018-01-11 09:39:51 +01:00
Joffrey JAFFEUX
c9921869f1
FIX: adds select-kit api to modify header computed content (#5476)
This api would allow to simply modify header text or icons, eg:

```
      api.modifySelectKit("select-kit")
        .modifyHeaderComputedContent((context, computedContent) => {
          computedContent.title = "Not so evil";
          return computedContent;
        });
```
2018-01-09 10:52:32 +01:00
Joffrey JAFFEUX
315b9d796d
select-kit refactoring
* better test helper
* more reliable tests
* more consistent use of data-value/data-name/title/aria-label everywhere: header and rows
2017-12-22 13:08:12 +01:00
Guo Xiang Tan
91e84433ff Take two at fixing JS tests. 2017-12-15 15:46:09 +08:00
Joffrey JAFFEUX
49b1df40fc
FIX: various issues when editing category permissions
This commit also adds multiple tests
2017-11-27 19:50:04 +01:00
Joffrey JAFFEUX
acdfb3ed03
FIX: don’t convert an object using EachProxy to an array 2017-11-22 14:33:04 +01:00
Joffrey JAFFEUX
a3b511f4f5
FIX: simplify keyboard handling 2017-11-22 11:29:30 +01:00
Joffrey JAFFEUX
b2b565c2fb
select-kit initial plugin api implementation (0.8.13)
```
api.modifySelectKit("identifier-of-the-select-targeted")
  .modifyContent((context, existingContent) => {})
  .appendContent(() => {})
  .prependContent(() => {})
  .onSelect((context, val) => {});
```
2017-11-22 10:34:12 +01:00
Joffrey JAFFEUX
9444c31918
FIX: makes typing indicator visible when possible 2017-11-21 18:07:10 +01:00
Joffrey JAFFEUX
2087d011df
FIX: fix bugs with keyboard events 2017-11-21 16:59:03 +01:00
Joffrey JAFFEUX
39f3dbd945
Introduces select-kit
* renames `select-box-kit` into `select-kit`
* introduces `single-select` and `multi-select` as base components
* introduces {{search-advanced-category-chooser}} as a better component for selecting category in advanced search
* improves events handling in select-kit
* recreates color selection inputs using {{multi-select}} and a custom {{selected-color}} component
* replaces category-selector by a component using select-kit and based on multi-select
* improves positioning of wrapper
* removes the need for offscreen, and instead use `select-kit-header` as a base focus point for all select-kit based components
* introduces a formal plugin api for select-kit based components
* introduces a formal pattern for loading and updating select-kit based components:

```
computeValue()
computeContent()
mutateValue()
```
2017-11-21 11:53:09 +01:00