Commit Graph

105 Commits

Author SHA1 Message Date
6c195640b9 FEATURE: adds an API to register topic footer buttons 2019-02-07 14:43:33 +01:00
2c222e16fe FEATURE: Returning falsy value from upload handler stops upload. (#6969) 2019-02-05 10:54:11 +01:00
0d0303e7ea FIX: more resilient lookup in plugin-api (#6961)
Ember3 is more picky about having a container being destroyed and it's easier to cause exceptions, especially in tests.

This fix has been initially created for an exception occuring in tests when running discourse-code-review and discourse-polls tests at the same time. `getCurrentUser` method body was failing as the container was destroyed.

Original  stacktrace:

```
"Error: Assertion Failed: expected container not to be destroyed
    at new EmberError (ember:2929:31)
    at assert (ember:1793:23)
    at Container.lookup (ember:17736:64)
    at PluginApi.getCurrentUser (discourse/lib/plugin-api:56:31)
    at allowUser (javascripts/discourse/initializers/init-code-review:38:29)
    at eval (javascripts/discourse/initializers/init-code-review:78:11)
    at eval (select-kit/mixins/plugin-api:86:19)
    at Array.forEach (<anonymous>)
    at eval (select-kit/mixins/plugin-api:85:44)
    at Array.forEach (<anonymous>)"
```
2019-01-29 16:54:04 +01:00
9886934ef5 DEV: fix some deprecated SVG icon refs 2019-01-22 14:42:00 -05:00
80d42b4ea2 icons deprecations fixes (#6920) 2019-01-22 12:02:02 +01:00
a953b71797 FEATURE: allow custom HighlightJS languages
Adds pluginApi function that allows themes and plugins to register languages for HighlightJS.
2019-01-02 19:07:36 -05:00
f5c4ab0573 Add category link renderer to plugin API (#6787)
* Add category link renderer to plugin API

- lets themes/plugins override the category link display

- planning to use this in a "category icons" theme component

* small code review fix

* Code review refactor
2018-12-19 10:26:09 +01:00
0f5aeab003 DEV: enable no-alert & no-console eslint rules 2018-11-14 23:17:56 +01:00
0ea8c1943f Let plugins decorate banner topic, fixes local dates in banners (#6452) 2018-10-10 17:27:23 +08:00
17087eff2a FIX: Reset tags on category change (#6363) 2018-09-05 17:18:52 +02:00
e7e8f4ef4c Add plugin API for handling uploads with specific file extensions 2018-08-17 16:08:47 +01:00
ef78268c01 Give ExtraNavItem more control over when it can be displayed. 2018-07-30 17:30:13 +08:00
03a7d532cf DEV: introduces prettier for es6 files 2018-06-15 17:03:24 +02:00
eddcb07f03 FEATURE: adds plugin sharing api 2018-06-13 13:25:51 +02:00
Sam
11b544ef4e DEV: add support for custom post message callbacks
Allows for cleaner subscription to changes by plugins, polls will move to
it.
2018-05-24 12:34:53 +10:00
Sam
7dd68e64d9 FEATURE: allow plugins to modify class statics
Adds `modifyClassStatic` to plugin api which can be used to amend static
methods on a class
2018-05-15 16:01:51 +10:00
Sam
9c6cf9eb14 FIX: decorate user stream should include element
In the past we would call the decorate function with no element
this made the extension on user stream pointless
2018-05-07 09:50:56 +10:00
Sam
458b9c3a62 FEATURE: suppress duplicate username/names containing .
- Adds official API to disable suppression if needed
2018-04-27 11:41:16 +10:00
3a58dc0858 Add new 'jumpToPostId' plugin API method 2018-03-24 02:43:39 +01:00
08db10491e Adds a new plugin API for adding classes to be shown on user avatars 2018-02-01 15:24:26 -05:00
56834dbd98 FEATURE: select-kit api to modify collection header 2018-01-26 14:42:24 +01:00
718e932b44 FEATURE: plugins can send more data to Google Tag Manager 2018-01-17 11:18:17 -05:00
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
c1ae562389 Add support for app events in plugin api, plus an event for custom html 2018-01-05 16:45:57 -05:00
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
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
a0dd75ba88 FEATURE: New API to create a custom formatter for displaying usernames
This is not exhaustive right now, but a good start and we can add to
it over time.
2017-10-30 13:27:08 -04:00
fbd5f1e411 REFACTOR: Rename store:main to service:store so we can inject it 2017-10-27 13:59:45 -04:00
954013a45c Use appEvents for page tracking so widgets can listen to it easily 2017-09-28 14:20:32 -04:00
cb78ffd328 <<<<<<< HEAD
=======
>>>>>>> FEATURE: Add ability to claim topics on flagged topics page
Bump Plugin API version
2017-09-25 12:28:01 -04:00
e809996c2a Allow modifyClass to operate on optional classes.
This is useful if you want to modify an admin class that might not be
present for regular users.
2017-09-25 12:28:00 -04:00
e4e27a4b83 New API for replacing an icon 2017-09-15 13:54:47 -04:00
15fa27a1ff Add warning when using the 'modifyClass' plugin API after it's been cached in the container 2017-08-08 20:07:35 +02:00
125cc356f3 FIX: don't break the site when adding a navigation item without a 'name' field 2017-08-07 10:45:35 +02:00
4b53fe3cc7 new 'addNavigationBarItem' plugin api 2017-08-05 02:23:35 +02:00
41afd9c818 Bump Plugin API version for icon api 2017-07-27 15:13:03 -04:00
e87125b63c FEATURE: Plugins can overwrite and add support for new icons 2017-07-26 13:21:17 -04:00
8ae445766f Upgrade Ember to 2.13 2017-06-15 10:12:07 -04:00
733b0009cb FIX: Don't memoize the currentUser in case some plugins use it too early 2017-05-16 16:35:18 -04:00
3b55ceffb3 Use local var for additionalPanels 2017-03-29 08:52:50 +09:00
c99883cf65 SEMICOLONS ;.; 2017-03-25 21:44:28 +13:00
a4127a8f71 Add addAdditionalHeader widget to pluginApi 2017-03-25 21:33:55 +13:00
Sam
0c03ccb01e FEATURE: allow plugins to transform, the transformed post
This allows plugins to amend posts prior to rendering.
2017-03-07 17:12:31 -05:00
Sam
3e3fdfc717 FEATURE: plugin can now extend list of classes for topic-post 2017-03-03 16:57:25 -05:00
Sam
89bd538742 add callback priority to tags html 2017-03-01 12:56:45 -05:00
Sam
8c8de1c2d4 FEATURE: addUserMenuGlyph extensibility point 2017-03-01 10:32:01 -05:00
Sam
f918951d42 FEATURE: clean up tags extensibility
centralizes all logic for topic tag rendering and provides API for extension
2017-02-28 17:08:43 -05:00
Sam
023bd0e9e7 FEATURE: allow client side of topic list to accept custom params
- Also normalize API version to use a version comparison function instead of float
2017-02-15 16:14:43 -05:00
Sam
675cb1c715 FEATURE: allow registrations of custom small action icons via plugins 2017-02-10 12:55:21 -05:00
816a030f78 Bump plugin api to 0.7 2017-02-01 11:05:47 +13:00