Commit Graph

332 Commits

Author SHA1 Message Date
Joffrey JAFFEUX
f0fe16d824
FEATURE: implements minimum selection for select-kit 2018-04-05 16:45:19 +02:00
Joffrey JAFFEUX
3287ac77e0
FIX: reverts combobox placeholder and introduces noneLabel
noneLabels works almost like none but instead of actually adding a row in the list, it will only change the text displayed in the header, when there's no selection.
2018-03-29 13:42:00 +02:00
Joffrey JAFFEUX
15aa712227
fix category-row regressions 2018-03-27 14:11:05 +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
Guo Xiang Tan
2b7fb43d84 Fix the build. 2018-03-19 18:47:17 +08:00
Joffrey JAFFEUX
97ddaeeae8
FIX: use css instead of js to fix select-kit-collection max-height 2018-02-01 16:56:07 +01:00
scossar
41f1e7430c Refactor code; add tests 2018-01-29 17:42:19 -08:00
Vinoth Kannan
86e142b39f UX: Copy selected text to the link building modal 2018-01-24 02:02:12 +05:30
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
Joffrey JAFFEUX
c1c31b99ce
Replaces toolbar popup-menu with select-kit 2017-12-13 10:49:32 +01:00
Joffrey JAFFEUX
dbadebacd1
FIX: allows select-kit to search by null value 2017-12-01 20:02:00 +01:00
Joffrey JAFFEUX
96cdc4e66e
FIX: makes allowInitialValueMutation more restrictive 2017-11-24 13:15:02 +01:00
Joffrey JAFFEUX
9208909b26 tweak icon-library generation 2017-11-23 18:24:26 +01:00
Joffrey JAFFEUX
b14d9529b8
FIX: adds support for name changes tracking 2017-11-22 13:49:45 +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
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
Robin Ward
b9595966d4 FIX: Error applying quotes with blank lines in front 2017-11-20 13:46:19 -05:00
Joffrey JAFFEUX
6d3ed966cd
FEATURE: replace admin flags modal by a select-box 2017-11-09 12:33:36 -08:00
Joffrey JAFFEUX
0da529010a
FEATURE: support for multi-combo-box 2017-11-09 10:57:53 -08:00
OsamaSayegh
55095bc44e FEATURE: Use ACE for badge queries (#5269)
* FEATURE: Use ACE for badge queries

* Forgot disabled

* When disabled, cursor should be `not-allowed`

* Tests + prefix custom attribute with `data-`
2017-10-30 18:07:49 +11:00
Joffrey JAFFEUX
ae1e4de286 [FIX] better control on value mutation 2017-10-20 13:40:56 -07:00
Régis Hanol
62156885ec UX: remove 🔥heading and ruler button from composer toolbar 2017-10-20 10:59:31 +02:00
Joffrey JAFFEUX
4d041d5b87 [FIX] Fix wizard spec
This commit introduces a mutation on input value given to select-box-kit when value is empty. The refactoring required to avoid this would be too heavy atm, but ultimately we would want to avoid this.
2017-10-19 17:34:56 -07:00
Joffrey JAFFEUX
d77ef05ee1 Fix broken tests 2017-10-19 14:32:37 -07:00
Joffrey JAFFEUX
ae1743c61f [WIP] select-box-kit refactoring 2017-10-19 12:51:08 -07:00
Joffrey JAFFEUX
e6385e4527 attempts to fix broken spec only on CI 2017-09-14 20:34:37 +02:00
Joffrey JAFFEUX
562e48dfb7 adds a dsl to simplify testing of the select-box 2017-09-14 19:50:32 +02:00
Joffrey JAFFEUX
c06c88b479 cleaner title attribute for select-box 2017-09-12 01:36:58 +02:00
Joffrey JAFFEUX
e924920bec uses select-box for pinned-button
This commit also moves more logic in dropdown-select-box instead of
duplicating it for notifications-options and pinned-options
2017-09-11 19:14:22 +02:00
Joffrey JAFFEUX
7f9220a2cd minor select-box fixes
- select row when using tab
- makes sure tab order is correct
- highlight first row when filtering
2017-09-11 00:38:32 +02:00
Joffrey JAFFEUX
4b558638c8 FEATURE: improves keyboard handling of select-box
- arrow keys
- escape key
2017-09-10 19:12:03 +02:00
Joffrey JAFFEUX
ccf5005feb FEATURE: uses select-box for topic-notifications-button component
- Introduces ComponentConnector to use a component inside a widget
- Use css to set size of components instead of properties
- Smarted positionning
- Style tweaks
2017-09-06 16:58:00 +02:00
Robin Ward
70706897f4 FIX: Test was failing on high DPI monitor 2017-08-30 15:32:58 -04:00
Joffrey JAFFEUX
746c5927e1 Replaces remaining {{category-chooser}} by {{category-select-box}}
To achieve replacement, this commit also adds support for:
- clearSelectionLabel which will allows to unselect any chosen category
- select-box inside a modal
- fixes minor css positioning issues

Note: {{category-chooser}} will be removed in the next weeks.
2017-08-30 17:04:17 +02:00
Joffrey JAFFEUX
f101fec19c FIX: improves uncategorized support for category-select-box 2017-08-29 12:48:26 +02:00
Joffrey JAFFEUX
861dbe3b51 select-box refactoring
- more flexibility (allows custom title)
- less re-render
- more robustness
2017-08-29 12:25:54 +02:00
Joffrey JAFFEUX
b83c0747d9 FIX: select-box improvments
- more tests for category-select-box
- allows to clear selection
- fix positioning on safari
- focus on click
- do not display uncategorized if not allowed in settings
- fix component state impacting other specs
- better texts
- higher category-select-box on mobile
2017-08-28 14:34:04 +02:00
Joffrey JAFFEUX
14f06c2740 select-box minor fixes 2017-08-25 19:56:57 +02:00
Joffrey JAFFEUX
d05df4a337 FIX: better headerText handling on select-box 2017-08-24 18:31:33 +02:00
Joffrey JAFFEUX
d52048ad34 Revert "Revert "FEATURE: improves select-box to support category selection on new topic""
This reverts commit 1d90f6016a.
2017-08-24 16:04:47 +02:00
Joffrey JAFFEUX
1d90f6016a Revert "FEATURE: improves select-box to support category selection on new topic"
This reverts commit 7b4e302677.
2017-08-23 16:33:03 +02:00
Joffrey JAFFEUX
7b4e302677 FEATURE: improves select-box to support category selection on new topic 2017-08-23 15:08:19 +02:00
Guo Xiang Tan
9f11223250 Fix select-box Qunit tests to use the proper Ember test helpers. 2017-08-16 09:35:56 +09:00
Joffrey JAFFEUX
cad6107624 refactors select-box
Note: this commit also now uses select-box for mobile topics controls
2017-08-16 00:41:56 +02:00
Joffrey JAFFEUX
482924b161 FEATURE: initial implementation of an ember native select 2017-08-13 14:34:50 +02:00
Robin Ward
8dd7c0c984 UX: Convert buttons to d-button 2017-08-01 17:24:06 -04:00
Robin Ward
75d10a4098 UX: Add consistent classes to buttons 2017-08-01 17:24:06 -04:00
Guo Xiang Tan
4620dfe92d FEATURE: Add group settngs to allow users to leave a group freely.
https://meta.discourse.org/t/split-join-leave-freely-setting-on-groups/65565
2017-07-28 15:00:25 +09:00
Robin Ward
bc3a32385c FIX: Empty lines should be selected for block quotes 2017-07-21 16:32:29 -04:00
Joffrey JAFFEUX
e36d9f55c3 replaces links/imgs by buttons in the emoji-picker 2017-07-21 19:42:50 +02:00
Joffrey JAFFEUX
7718141ee0 not applicable anymore 2017-07-19 16:48:23 +02:00
Sam
e2f57a154b FIX: blockquote button implementation
Previously clicking on blockquote in the middle of sentence
would result in incorrect formatting
2017-06-27 13:32:20 -04:00
Sam
234694b50f Feature: CommonMark support
This adds the markdown.it engine to Discourse.
https://github.com/markdown-it/markdown-it

As the migration is going to take a while the new engine is default
disabled. To enable it you must change the hidden site setting:
enable_experimental_markdown_it.

This commit is a squash of many other commits, it also includes some
improvements to autospec (ability to run plugins), and a dev dependency
on the og gem for html normalization.
2017-06-23 12:01:33 -04:00
Robin Ward
cc525b1a8d Upgrade QUnit to latest version 2017-06-15 10:12:07 -04:00
Guo Xiang Tan
accd78cd8c Make eslint happy. 2017-05-12 09:31:23 +08:00
Guo Xiang Tan
e63614024d FIX: Users can't request to join group due to alias level restriction.
https://meta.discourse.org/t/request-to-join-group-not-working/62371
2017-05-12 09:26:26 +08:00
Neil Lalonde
b7322b05a0 FIX: some changes in composer affect all visible text editors 2017-05-05 12:59:45 -04:00
Guo Xiang Tan
5c39c8f24b UX: Improve the way users set timers for TopicStatusUpdate. 2017-04-20 14:25:45 +08:00
Guo Xiang Tan
bb85795934 FIX: Leave group membership button not updating.
https://meta.discourse.org/t/leave-group-button-on-groups-page-doesnt-give-any-feedback/57359/4
2017-03-16 11:33:55 +08:00
Guo Xiang Tan
3aed15c99e FIX: Group membership button now showing properly. 2017-01-03 14:36:56 +08:00
Régis Hanol
f71040dc23 Merge pull request #4630 from caugner/feature-preserve-cursor-in-editor-upload
FEATURE: Preserve cursor in editor upload
2016-12-29 14:46:10 +01:00
Claas Augner
37386faff2
Fix eslint nits. 2016-12-29 10:05:07 +01:00
Claas Augner
43c1dd82f6
Add cursor tests, fix algorithm and extract method. 2016-12-29 09:54:15 +01:00
Guo Xiang Tan
6d00650972 Fix JS tests. 2016-12-29 13:47:11 +08:00
Guo Xiang Tan
0ab52b127b Fix JS tests. 2016-12-15 16:52:47 +08:00
Robin Ward
6a1c05a268 Upgrade ember-qunit 2016-11-08 14:29:50 -05:00
Robin Ward
151597bf0f Update code so Ember 2.3 can have more tests passing 2016-11-08 13:40:35 -05:00
Robin Ward
622dc82481 Replace deprecated render(buffer) with a custom buffered renderer 2016-10-25 14:00:21 -04:00
Guo Xiang Tan
90571f0364 FIX: Format selection as multiline code only when selection spans multiple lines. 2016-08-23 15:00:16 +08:00
Guo Xiang Tan
f32d8e2882 FIX: Code fences shortcut did not insert newlines before and after backticks. 2016-08-23 09:51:01 +08:00
Robin Ward
3200d836f7 FIX: After uploading an image the selection was not in the correct spot 2016-07-25 15:31:21 -04:00
Robin Ward
6d7e8bd68b FIX: Customizations were broken 2016-07-11 12:57:05 -04:00
Arpit Jalan
83309752ae FEATURE: new site setting 'code formatting style' 2016-06-27 01:00:11 +05:30
Robin Ward
514c3976f0
PERF: Migrate header to discourse widgets 2016-04-25 10:48:04 -04:00
Robin Ward
c948d53d91
UX: Use separate input fields for link and description in d-editor 2016-04-08 16:13:42 -04:00
Robin Ward
d1b9a9370a PERF: Render logo significantly faster 2016-03-21 15:14:31 -04:00
Robin Ward
a9daa33953 Add tests to home-logo component 2016-03-21 14:16:33 -04:00
Sam Saffron
7be90a885c FIX: bolding text when selection has a leading space 2016-03-10 22:43:48 +11:00
Sam Saffron
f3efe657fa FEATURE: Automatically add http:// when adding links without them via composer 2016-03-10 18:25:02 +11:00
Robin Ward
f6aa1ac37a Migrate onToolbarCreate to the DiscourseAPI 2016-02-18 15:23:43 -05:00
Robin Ward
d1e85bdd8b FEATURE: Use virtual dom framework for faster post rendering 2016-02-11 11:00:40 -05:00
Robin Ward
57c3d65777 Change d-editor to use _ instead of * for italics. 2016-01-18 14:54:54 -05:00
Robin Ward
fd6bbc69e2 FIX: On chrome, focusing on a recently changed textarea would scroll 2015-12-29 14:59:12 -05:00
Robin Ward
49bda0b17d FIX: Improve windows double clicking on words in editor 2015-11-24 13:42:22 -05:00
Robin Ward
c76caca109 FIX: Perform the same operation on multilines in d-editor 2015-11-24 13:03:37 -05:00
Robin Ward
84a50a1260 FIX: Keyboard handling regression 2015-11-18 12:35:17 -05:00
Robin Ward
8dc0fa97d4 Better behavior When inserting a link with no description 2015-11-17 13:26:55 -05:00
cpradio
8f39f25cad FIX: Use selected text in the link if text is already selected, otherwise, put the URL 2015-11-09 15:29:19 -05:00
Robin Ward
52579179bd FIX: Broken tests in phantom, not in browser 2015-11-06 16:44:38 -05:00
Robin Ward
15931fce1e FIX: Allow us to insert things between words. 2015-11-06 15:40:52 -05:00
Robin Ward
47495a5713 FEATURE: Replace composer editor with ember version 2015-11-06 09:49:16 -05:00
Robin Ward
5cd6308850 API for adding buttons to the new composer 2015-11-02 16:18:09 -05:00
Robin Ward
0428bacfa9 SECURITY: A user could XSS themselves on their preference page 2015-10-20 12:09:59 -04:00
Robin Ward
94b60e62a2 FEATURE: New markdown editor re-written in Ember
Note this commit leaves out the biggest occurrence of the editor
which is the post/topic composer.

To avoid major breakage, this replaces it everywhere else it was
used:

* User preferences (About Me)
* Admin Customizations > Text Content
* Category Templates
* Editing Queued Posts

A future commit will replace the main composer with this editor
and will remove the unused pagedown code.
2015-10-19 11:01:20 -04:00
Sam
bfd08ca649 correct invalid tests 2015-09-28 17:18:46 +10:00
Robin Ward
975edceff4 Add semi colon linting to Javascript 2015-09-15 17:08:50 -04:00
Robin Ward
c36fdccab2 Add d-link component to simplify menu markup 2015-09-01 16:14:34 -04:00
Jeff Atwood
5336677be7 missed a few spots where close-panel was used 2015-08-29 04:04:04 -07:00
Robin Ward
3ae5a0a2df UX: Merge notifications and user dropdown 2015-08-28 16:11:40 -04:00
Robin Ward
5457684975 Split hamburger-menu out into menu-panel 2015-08-26 16:29:10 -04:00
Robin Ward
c5460b7d3f FEATURE: Full height hamburger menu
- Rename `site-map` to `hamburger-menu`
- Includes acceptance tests
2015-08-25 16:48:43 -04:00
Robin Ward
b0541500b4 FIX: eslint deprecations 2015-08-13 15:14:08 -04:00
Robin Ward
e2e3e7c0e0 Add ES6 support to more files 2015-08-13 10:49:08 -04:00
Robin Ward
7ef83913b6 FIX: Couldn't select values of 0 in the combo-box 2015-08-05 16:19:44 -04:00
Robin Ward
dc8a68fd29 FEATURE: New "Dropdown" user field type 2015-07-28 12:30:21 -04:00
Robin Ward
cc2a33617f Refactor likes/flags to simplify things a lot 2015-07-14 15:50:27 -04:00
Robin Ward
fcfcda099f Component tests for like button 2015-07-14 14:46:46 -04:00
Robin Ward
7a58d64f37 Upgrade ember qunit, create new interface for testing components 2015-07-14 13:56:59 -04:00
Robin Ward
7b6d6b76eb FEATURE: Multiple embeddable hosts
- Also refactors two site settings components into one, with tests
2015-06-09 13:25:43 -04:00
Robin Ward
d90063fc59 FIX: Error with ace editor and new ember.
Fix upgrades ace editor, which was a huge headache due to AMD.
2015-05-13 16:25:33 -04:00
Robin Ward
01d4085125 Removed bad JS tests, upgrade QUnit + ember-qunit 2015-05-13 14:13:37 -04:00
cpradio
2e200ffbf0 Merge remote-tracking branch 'origin/master' into keyboard-binding-incoming-updated-topics
Conflicts:
	config/locales/client.en.yml
2014-08-29 20:05:59 -04:00
cpradio
8a8552019a Fixed qunit test assertion 2014-08-29 18:03:27 -04:00
cpradio
80cb8f3a96 Fixed qunit test assertion 2014-08-29 17:54:50 -04:00
Sam
53e60030bc FIX: broken tests 2014-08-27 14:47:23 +10:00
Robin Ward
b323c86302 TESTS: Remove home logo tests, they are written in the incorrect way and
don't test much of value.
2014-08-07 11:48:02 -04:00
Robin Ward
f977843391 ES6: Convert all test files over 2014-08-06 17:51:03 -04:00
Robin Ward
6f36d5996d Lots of work on tests 2014-07-30 20:09:45 -04:00
Régis Hanol
b196de0821 TRIVIAL: use class instead of id for the 'topic-list' 2014-07-29 23:38:36 +02:00
Robin Ward
176120cbc1 REFACTOR: Keyboard Shortcuts should send their actions directly to
posts, not by activating clicks on buttons.
2014-06-11 14:31:03 -04:00
Robin Ward
a63ac64931 FIX: Obscure emoji fail with a colon surrounded by spaces 2014-06-09 14:44:34 -04:00
Sam
570c4b6300 certain keyboard shortcuts were never tested ever. 2014-05-25 14:59:05 +10:00
Neil Lalonde
52580f09af Rename favorite to starred everywhere 2014-01-10 14:54:19 -05:00
Ryan Sullivan
5100c2bbd2 Add Global Keyboard Shortcuts
Not all of these have been fully implemented yet.

**Jump To**
* `g` then `h` - Home (Latest)
* `g` then `l` - Latest
* `g` then `n` - New
* `g` then `u` - Unread
* `g` then `f` - Favorited
* `g` then `c` - Categories List

**Navigation**
* `u` - Back to topic list
* `k` / `j` - Newer/Older conversation or post
* `o` or `Enter` - Open selected conversation
* <code>`</code> - Go to next section
* `~` - Go to previous section

**Application**
* `c` - Create a new topic
* `n` - Open notifications menu
* `/` - Search
* `?` - Open keyboard shortcut help

**Actions**
* `f` - Favorite topic
* `s` - Share topic
* `<Shift>` + `s` - Share selected post
* `r` - Reply to topic
* `<Shift>` + `r` - Reply to selected post
* `l` - Like selected post
* `!` - Flag selected post
* `b` - Bookmark selected post
* `e` - Edit selected post
* `d` - Delete selected post
* `m` then `m` - Mark topic as muted
* `m` then `r` - Mark topic as regular
* `m` then `t` - Mark topic as tracking
* `m` then `w` - Mark topic as watching
2013-12-22 12:16:42 -07:00
Neil Lalonde
ed3d3ae1e1 Upgrade font-awesome to version 4 2013-12-11 10:31:09 -05:00
Robin Ward
48bfcfadd9 Upgrade Ember.js, fix swallowing of template errors, report unresolved promises in development mode. 2013-12-02 13:15:58 -05:00
Robin Ward
20e4a2ef80 Renamed components so they don't all have the annoying discourse- prefix 2013-11-19 11:59:50 -05:00
Wojciech Zawistowski
a957a23b66 fixes missing imege url errors in logo component tests 2013-11-12 21:21:02 +01:00
Wojciech Zawistowski
db002e9294 refactors logo component unit tests to use fixture helper 2013-11-08 20:23:29 +01:00
Wojciech Zawistowski
489dab333a extracts logo component from header 2013-10-30 21:56:48 +01:00
Robin Ward
9adcd1579d Renamed components to lib in the JS project, as Ember has components and they mean something different. 2013-10-24 12:36:46 -04:00
Régis Hanol
a12a1bcc66 bring back attachment icons 2013-10-23 09:52:15 +02:00
Robin Ward
e2845f7f16 Restrict SIZE= to numbers 2013-10-22 11:08:13 -04:00
Robin Ward
e527cbf884 FIX: Link reference-style text without a url 2013-10-21 14:16:49 -04:00
Robin Ward
d9a16079a5 FIX: Do not allow users to create tables 2013-10-21 13:32:15 -04:00
Robin Ward
7a5c3bfcd8 whitelist acceptable syntax highlighting classes 2013-10-21 13:11:10 -04:00
Robin Ward
d10f9f756f FIX: [code] blocks with # headers within 2013-10-21 12:12:58 -04:00
Robin Ward
1783089d64 FIX: [quote] without params was failing. 2013-10-21 11:12:47 -04:00
Robin Ward
4d9ca99929 Merge pull request #1542 from velesin/debounce_refactoring
refactors Discourse.debounce
2013-10-21 07:50:26 -07:00
Robin Ward
c5f14cdd0e Merge pull request #1549 from velesin/debounce_promise_refactoring
refactors Discourse.debouncePromise
2013-10-21 07:49:47 -07:00
Régis Hanol
533006a5ec Merge pull request #1536 from velesin/computed_tests_refactoring
Discourse.Computed tests refactoring
2013-10-20 07:01:26 -07:00
Wojciech Zawistowski
4c4a2f220e refactors Discourse.debouncePromise 2013-10-20 10:38:26 +02:00
Wojciech Zawistowski
d0f3765967 refactors Discourse.debounce 2013-10-19 09:13:00 +02:00
Robin Ward
1113b8d7a8 FIX: Don't double sanitize values, allow blockquotes with leading text 2013-10-18 17:34:54 -04:00
Robin Ward
d7182d0b14 FIX: Only wrap inline html tags in <p> 2013-10-18 15:21:05 -04:00
Wojciech Zawistowski
42c12206c3 Discourse.Computed tests refactoring 2013-10-17 18:52:24 +02:00
Robin Ward
8d016092cd FIX: Heading with style 2013-10-16 10:39:06 -04:00