Commit Graph

205 Commits

Author SHA1 Message Date
Robin Ward 785ebb674d REFACTOR: Split off raw handlebars helpers from compiler
This allows us to compile without Ember being present
2019-11-01 13:50:15 -04:00
Robin Ward 640a05c4ee REFACTOR: Remove `Ember.get` 2019-11-01 13:50:15 -04:00
Robin Ward 8d34f4bbd9 Revert "Revert Ember.run refactors"
This reverts commit fcb1ca52f9.
2019-10-30 09:48:24 -04:00
Robin Ward fcb1ca52f9 Revert Ember.run refactors
This reverts commit 5ca60fcb6b.
2019-10-29 17:10:47 -04:00
Robin Ward 5ca60fcb6b REFACTOR: Use imports for `Ember.run` 2019-10-29 15:31:56 -04:00
Joffrey JAFFEUX 02250bd91f
DEV: removes one deprecation with app-events:main 2019-10-16 10:50:43 +02:00
Robin Ward f5d391a48a
REFACTOR: Move `app-events:main` to `service:app-events` (#8152)
AppEvents was always a service object in disguise, so we should move it
to the correct place in the application. Doing this allows other service
objects to inject it easily without container access.

In the future we should also deprecate `this.appEvents` without an
explicit injection too.
2019-10-04 10:06:08 -04:00
Joffrey JAFFEUX fb66ddf161
DEV: removes dead coded (#8129)
As per sam:

b9ccf4d09c/app/assets/javascripts/discourse.js 1

We used to put (*) topic title for certain cases, something that we totally stopped doing.
2019-10-02 12:13:39 -04:00
Joffrey JAFFEUX 6e815ba032 DEV: adds discourse:focus-changed app event (#8123) 2019-10-02 10:53:51 +10:00
Sam Saffron 499472b6a0 FIX: change focus when application resumes in android
Per new lifecycle https://developers.google.com/web/updates/2018/07/page-lifecycle-api

On Android and latest Chrome when an app transitions from "frozen" to
active the new "resume" event fires with no accompanying "visibilitychange"
event.

This means that often background tabs may be stuck thinking that discourse
has no focus when, indeed, it has.

This leads to cases where no posts are marked read anymore.
2019-10-01 12:00:07 +10:00
Bianca Nenciu 37e7998a82
FEATURE: Send notification when member was accepted to group. (#7614) 2019-08-06 13:29:46 +03:00
Penar Musaraj 042f7184f1 DEV: Display FA 4.7 deprecation notice in all environments
FA 4.7 icon mapping will be removed soon.
2019-07-26 15:25:20 -04:00
Penar Musaraj e66024bd3b Update theme component URL 2019-06-04 10:04:27 -04:00
Penar Musaraj 16982d2a69
Update UI for wizard themes further reading step (#7669) 2019-06-03 10:47:17 -04:00
Joffrey JAFFEUX ba66d6fd82
FIX: icon deprecation s/group/users (#7638) 2019-05-29 16:29:01 +02:00
Penar Musaraj dfcc2e7ad8 Revert "FEATURE: Send notification when member was accepted to group. (#7503)"
This reverts commit 42c82d544e.
2019-05-27 15:19:59 -04:00
Bianca Nenciu 42c82d544e
FEATURE: Send notification when member was accepted to group. (#7503) 2019-05-27 17:28:41 +03:00
Joffrey JAFFEUX bc8c77723e
FIX: puts focus-event at application level (#7568)
Also attempts to use simpler and newer APIs
2019-05-20 13:48:03 +02:00
Robin Ward 3ceff0a92a FEATURE: Send the user a notification when their post is approved 2019-04-15 16:20:16 -04:00
David Taylor 0d3531c2f1 FEATURE: Allow auth providers to define specific icons
Previously we relied on the provider name matching the name of the icon. Now icon names are explicitly set. Plugin providers which do not define an icon will get the default "sign-in-alt" icon
2019-03-27 13:25:04 +00:00
Kris cafbb3aea7 UX: Use official Facebook logo 2019-02-27 09:52:06 -05:00
David Taylor babd80dfd1 FIX: Allow subexpressions in raw handlebars helpers
Helpers registered via `registerUnbound` did not receive parameters if they were subexpressions.
For example: `{{helper1 key=(helper2 value)}}`
2019-02-08 12:58:10 +00:00
Penar Musaraj 755b47b4bc UX: change topic reminder notification icon 2019-01-24 10:07:24 -05:00
Joffrey JAFFEUX 502b1316d0
DEV: s/this._super()/this._super(...arguments) (#6908) 2019-01-19 10:05:51 +01:00
David Taylor 880311dd4d
FEATURE: Support for localized themes (#6848)
- Themes can supply translation files in a format like `/locales/{locale}.yml`. These files should be valid YAML, with a single top level key equal to the locale being defined. For now these can only be defined using the `discourse_theme` CLI, importing a `.tar.gz`, or from a GIT repository.

- Fallback is handled on a global level (if the locale is not defined in the theme), as well as on individual keys (if some keys are missing from the selected interface language).

- Administrators can override individual keys on a per-theme basis in the /admin/customize/themes user interface.

- Theme developers should access defined translations using the new theme prefix variables:
  JavaScript: `I18n.t(themePrefix("my_translation_key"))`
  Handlebars: `{{theme-i18n "my_translation_key"}}` or `{{i18n (theme-prefix "my_translation_key")}}`

- To design for backwards compatibility, theme developers can check for the presence of the `themePrefix` variable in JavaScript

- As part of this, the old `{{themeSetting.setting_name}}` syntax is deprecated in favour of `{{theme-setting "setting_name"}}`
2019-01-17 11:46:11 +00:00
Robin Ward 16a7102dad FIX: `Ember.warn` needs an `id`
This way errors can be customized/silenced in the console.
2019-01-16 14:53:13 -05:00
Guo Xiang Tan ebe65577ed
FEATURE: Consolidate likes notifications. (#6879) 2019-01-16 10:40:16 +08:00
Joffrey JAFFEUX 1a3655b787
DEV: s/Em/Ember (#6874) 2019-01-11 17:54:23 +01:00
Joffrey JAFFEUX f9648de897
DEV: upgrades from Ember 2.13 to Ember 3.5.1 (#6808)
Co-Authored-By: Bianca Nenciu <nbianca@users.noreply.github.com>
Co-Authored-By: David Taylor <david@taylorhq.com>
2019-01-10 11:06:01 +01:00
Xiao Guan 7ec124fc89 FEATURE: Improved deprecation warnings (#6722)
* FEATURE: Discourse.deprecate can report version

* Ember counterpart for deprecation
2018-12-06 11:38:01 +00:00
Penar Musaraj 7dec963f2e FIX: add vkontakte icon alias 2018-11-30 08:50:38 -05:00
Penar Musaraj 6568832235 FIX: map discord/patreon FA5 icons for login buttons correctly 2018-11-28 14:36:36 -05:00
Penar Musaraj 03deda2147
Upgrade to FontAwesome 5 (take two) (#6673)
* Add missing icons to set

* Revert FA5 revert

 This reverts commit 42572ff

* use new SVG syntax in locales

* Noscript page changes (remove login button, center "powered by" footer text)

* Cast wider net for SVG icons in settings

- include any _icon setting for SVG registry (offers better support for plugin settings)

- let themes store multiple pipe-delimited icons in a setting

- also replaces broken onebox image icon with SVG reference in cooked post processor

* interpolate icons in locales

* Fix composer whisper icon alignment

* Add support for stacked icons

* SECURITY: enforce hostname to match discourse hostname

This ensures that the hostname rails uses for various helpers always matches
the Discourse hostname

* load SVG sprite with pre-initializers

* FIX: enable caching on SVG sprites

* PERF: use JSONP for SVG sprites so they are served from CDN

This avoids needing to deal with CORS for loading of the SVG

Note, added the svg- prefix to the filename so we can quickly tell in
dev tools what the file is

* Add missing SVG sprite JSONP script to CSP

* Upgrade to FA 5.5.0

* Add support for all FA4.7 icons

- adds complete frontend and backend for renamed FA4.7 icons

- improves performance of SvgSprite.bundle and SvgSprite.all_icons

* Fix group avatar flair preview

- adds an endpoint at /svg-sprites/search/:keyword

- adds frontend ajax call that pulls icon in avatar flair preview even when it is not in subset

* Remove FA 4.7 font files
2018-11-26 16:49:57 -05:00
Régis Hanol 0f5aeab003 DEV: enable no-alert & no-console eslint rules 2018-11-14 23:17:56 +01:00
Sam 42572ff138 Revert font awesome 5 changes
We are still pushing ahead on this 100% just need a bit longer to prepare
all plugins
2018-11-08 16:12:18 +11:00
Penar Musaraj 09dc922b3b Fix several FontAwesome 5 issues
add missing icons, update SvgSprite methods (to fix ruby 2.4 issues), update whisper icon in composer, fix alignment issues
2018-11-07 22:20:53 -05:00
Penar Musaraj 9a34c6153e Fix small issues with FA5 icons 2018-11-07 16:39:04 -05:00
Penar Musaraj 005e1ecb9b
FEATURE: Update Font Awesome to v5.4.1 and SVGs (#6557)
* First take on subsetting svg icons

* FontAwesome 5 svg subset WIP

* Include icons from plugins/badges into svg sprite subset

* add svg icon support to themes

* Add spec for SvgSprite

* Misc. SVG icon fixes

* Use FA5 svgs in local-dates plugin

* CSS adjustments, fix SVG icons in group flair

* Use SVG icons in poll plugin

* Add SVG icons to /wizard
2018-11-07 13:05:43 -05:00
Gerhard Schlager 6b60646330 FIX: Relative links in templates should work with subfolders 2018-11-07 11:35:04 +01:00
OsamaSayegh a4f057a589 UX: improvements to admin theme UI 2018-09-17 09:49:53 +10:00
Joffrey JAFFEUX 03a7d532cf
DEV: introduces prettier for es6 files 2018-06-15 17:03:24 +02:00
Kris f812f5cd1c UX: Use empty heart for unliked state 2018-04-23 12:41:41 -04:00
Régis Hanol d5412cff4e FIX: scrolling was off sometimes
Also changed "Jump To Post" to go to the post index in the stream rather than the post number
2018-04-05 10:08:48 +02:00
Régis Hanol 9d6d8631ad Revert "FIX: remove scrolling jankiness"
This reverts commit b1a799b526.
Was not working properly on mobile...
2018-03-24 03:53:28 +01:00
Régis Hanol b1a799b526 FIX: remove scrolling jankiness 2018-03-24 02:39:36 +01:00
Joffrey JAFFEUX 8ae2c4555a
FIX: do not translate the same string two times when rendering icon label 2018-02-14 12:41:24 +01:00
Robin Ward 17213887a1 FIX: Allow plugins to override admin component templates 2018-01-10 13:14:43 -05:00
Joffrey JAFFEUX 9208909b26 tweak icon-library generation 2017-11-23 18:24:26 +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
Joffrey JAFFEUX ae1743c61f [WIP] select-box-kit refactoring 2017-10-19 12:51:08 -07:00
Robin Ward abdb334823 UX: Allow for customization of the heart icon 2017-10-04 11:07:59 -04:00
Robin Ward 2ce6e0bb07 UX: Perform icon replacements before calling icon renderer 2017-10-03 15:38:59 -04:00
Robin Ward 6bce3004d9 UX: Nicer selection of suspend duration 2017-09-25 12:28:00 -04:00
Robin Ward 40eba8cd93 FEATURE: View flags grouped by topic 2017-09-25 12:25:14 -04:00
Robin Ward e4e27a4b83 New API for replacing an icon 2017-09-15 13:54:47 -04:00
Robin Ward b2ffaf93a3 Use icon helpers for notification dropdown 2017-09-14 11:20:36 -04:00
Robin Ward 0ba789de17 Allow for customization of header dropdown icons 2017-09-07 11:18:59 -04:00
Robin Ward dfe347fb1d FIX: Wizard tests don't need `Discourse` defined 2017-09-01 12:26:42 -04:00
Robin Ward c6ff387ce9 Use more semantic names for various tracking icons
This way they can be replaced by plugins without conflicting with other
icons. For example `circle` is used in some places that doesn't
represent `tracking`.
2017-09-01 12:14:58 -04:00
Robin Ward cb56dcdf2e FIX: Use proper `iconNode` when compiling virtual dom templates 2017-09-01 11:20:33 -04:00
Robin Ward ff4e295c4f FIX: Notifications dropdown had incorrect spacing 2017-07-27 19:22:19 -04:00
Robin Ward 5b590b9637 REFACTOR: Replace some `fa-*` uses with helpers 2017-07-27 14:55:41 -04:00
Robin Ward d0c41a578e Rename `{{fa-icon}}` to `{{d-icon}}` so it can be more generic 2017-07-27 14:55:41 -04:00
Robin Ward e87125b63c FEATURE: Plugins can overwrite and add support for new icons 2017-07-26 13:21:17 -04:00
Robin Ward 754c1e5438 Upgrade to Babel 6 2017-07-05 15:25:23 -04:00
Robin Ward 8ae445766f Upgrade Ember to 2.13 2017-06-15 10:12:07 -04:00
Robin Ward 12fb20fe1b FEATURE: Allow users to resend/update email from confirmation page 2017-05-03 11:18:01 -04:00
Guo Xiang Tan 5c39c8f24b UX: Improve the way users set timers for `TopicStatusUpdate`. 2017-04-20 14:25:45 +08:00
Sam c76d780675 FEATURE: show a paintbrush for color schemes 2017-04-19 11:06:21 -04:00
Sam a3e8c3cd7b FEATURE: Native theme support
This feature introduces the concept of themes. Themes are an evolution
of site customizations.

Themes introduce two very big conceptual changes:

- A theme may include other "child themes", children can include grand
children and so on.

- A theme may specify a color scheme

The change does away with the idea of "enabled" color schemes.

It also adds a bunch of big niceties like

- You can source a theme from a git repo

- History for themes is much improved

- You can only have a single enabled theme. Themes can be selected by
    users, if you opt for it.

On a technical level this change comes with a whole bunch of goodies

- All CSS is now compiled using a custom pipeline that uses libsass
    see /lib/stylesheet

- There is a single pipeline for css compilation (in the past we used
    one for customizations and another one for the rest of the app

- The stylesheet pipeline is now divorced of sprockets, there is no
   reliance on sprockets for CSS bundling

- CSS is generated with source maps everywhere (including themes) this
    makes debugging much easier

- Our "live reloader" is smarter and avoid a flash of unstyled content
   we run a file watcher in "puma" in dev so you no longer need to run
   rake autospec to watch for CSS changes
2017-04-12 10:53:49 -04:00
Claas Augner e17bd6174c
Extract helper i18n-yes-no. 2016-12-28 11:45:41 +01:00
Robin Ward 31cda7b372 FIX: Can't seem to use ES6 in this file 2016-12-21 16:50:57 -05:00
Robin Ward 89bdca9c8c FIX: Backwards compatibility for controller in raw templates 2016-12-21 16:38:57 -05:00
Robin Ward e03d5e2140 Reapply Ember 2.10 for good this time!
This reverts commit ddd299f4aa.
2016-12-19 11:19:10 -05:00
Robin Ward ddd299f4aa Revert "Revert "Revert Ember 2.10+ for a short while""
This reverts commit 76bbc481cb.
2016-12-16 10:29:30 -05:00
Robin Ward 76bbc481cb Revert "Revert Ember 2.10+ for a short while"
This reverts commit 21682fd60b.
2016-12-16 09:52:29 -05:00
Robin Ward 21682fd60b Revert Ember 2.10+ for a short while 2016-12-15 16:43:38 -05:00
Robin Ward ea3db56d1c FIX: Mobile raw templates were not being resolved 2016-12-15 10:28:15 -05:00
Robin Ward 28699e66d8 Revert "REVERT: Ember 2.10 -- it's not building properly"
This reverts commit 600541c623.
2016-12-15 10:28:15 -05:00
Robin Ward 600541c623 REVERT: Ember 2.10 -- it's not building properly 2016-12-12 16:19:05 -05:00
Robin Ward 9a7998a930 Various fixes for Ember 2.10 2016-12-12 14:44:29 -05:00
Robin Ward 2efe4900cf Plugin Outlets need their arguments to be explicit 2016-12-12 14:44:29 -05:00
Robin Ward a808bcb0b8 Upgrade to Ember 2.10 2016-12-12 14:44:29 -05:00
Robin Ward 4f44713e8e Allow untranslated plugins to set modal body titles 2016-12-01 15:37:39 -05:00
Robin Ward d9cf9e2fb1 FIX: ace editor was buggy in the latest Ember release 2016-11-28 11:29:56 -05:00
Robin Ward 6aa5722d2b Remove Ember 1.x specific code 2016-11-25 15:38:45 -05:00
Robin Ward 5b05c8102e FIX: Read posts weren't refreshing on Ember 2.4 2016-11-22 12:17:40 -05:00
Robin Ward b217db9337 Remove unused var 2016-11-11 17:24:17 -05:00
Robin Ward a9ed15e11a FIX: Remove more of those pesky View classes 2016-11-11 17:03:15 -05:00
Robin Ward 875703a750 A couple of small but important fixes for later Ember releases 2016-11-09 11:46:27 -05:00
Robin Ward 70fb2431a1 Migrate `this.container` to `getOwner(this)` 2016-11-07 15:21:31 -05:00
Robin Ward e18ae34493 Don't try injecting into the Resolver. Use options instead. 2016-11-04 10:23:24 -04:00
Robin Ward 3505a13bea FIX: Broken build 2016-10-28 16:35:42 -04:00
Robin Ward a319cfe77a Final set of backwards compatible fixes for Ember 1.13 2016-10-28 15:51:39 -04:00
Robin Ward 1e4a56fe14 Backwards compatible support for inline helpers 2016-10-28 12:48:56 -04:00
Robin Ward 319b043f43 FIX: Helpers with multiple parameters were broken in 1.13 2016-10-28 10:13:41 -04:00
Robin Ward 004e71a3fe FIX: Some errors that only appear in Ember 1.13 2016-10-26 16:26:10 -04:00
Robin Ward fa3c45bb4c FIX: Mobile raw templates weren't being resolved 2016-10-26 11:19:29 -04:00
Robin Ward b601120b39 Support for Raw Handlebars and helpers in Ember 1.13 2016-10-26 10:27:57 -04:00
Robin Ward 622dc82481 Replace deprecated `render(buffer)` with a custom buffered renderer 2016-10-25 14:00:21 -04:00
Robin Ward bd352385a5 Framework for supporting Ember 1.12/1.13 helpers simulataneously 2016-10-24 15:13:32 -04:00
David Taylor 91da124769 Added resolveService function to custom resolver 2016-10-19 22:12:25 +01:00
Robin Ward 3d621767cc FIX: Wizard didn't work with subfolders 2016-09-22 14:39:36 -04:00
Robin Ward 9f12b571ef Wizard: Server Side Validation + Finished Step 2016-09-22 09:52:19 -04:00
Robin Ward be1d74d207 Split out common functions into `discourse-common` module 2016-09-22 09:52:19 -04:00