Commit Graph

198 Commits

Author SHA1 Message Date
Kevin Ansfield 04b8dbb855
Bump Ember dependencies to 3.0 (#961)
no issue
- upgrade `ember-cli`, `ember-source`, and `ember-data` to their latest 3.x versions
- remove jquery ajax test that was a silent failure anyway (we removed the global jquery ajax auth patch a while ago)
- fix issues that arose from using/abusing Ember internals in a couple of places
2018-02-28 17:31:43 +00:00
Kevin Ansfield cbf98a9a80
Bump dependencies (#960)
no issue
- bump all deps with non-breaking changes
- bump yarn.lock sub-dependencies
2018-02-28 13:08:26 +00:00
Kevin Ansfield 479b187ac0
Remove ember-one-way-controls (#959)
closes https://github.com/TryGhost/Ghost/issues/9386
- remove usage of `{{one-way-checkbox}}` in favour of direct HTML+handlebars
- add `{{gh-text-input}}` that inherits from Ember's built-in `TextInput` component along with our custom `TextInput` mixin
- swap all uses of `{{gh-input}}` for `{{gh-text-input}}
- remove `{{gh-input}}` component
- update `{{gh-textarea}}` to inherit from Ember's `TextArea` component instead of `OneWayTextarea` and update all component uses accordingly
- update `{{gh-trim-focus-input}}` to inherit from `{{gh-text-input}}` and update all component uses accordingly
- standardize on using the `focus-out` action naming rather than `focusOut` for all text inputs, this is because the text input components (especially `{{gh-trim-focus-input}}`) have their own `focusOut` handler which gets overridden if consumers supply their own `focusOut` attr
- drop `ember-one-way-controls` package
- add `ember-one-way-select` package
2018-02-28 11:44:03 +00:00
Kevin Ansfield 22befb1604 Bump dependencies
no issue
- bump all deps with non-breaking changes
- bump yarn.lock sub-dependencies
2018-02-19 18:01:53 +00:00
Tobias Bieniek fa4d1b66fc Update `ember-cli-mocha` to v0.15.0 (#922)
no issue
2018-02-06 09:38:42 +01:00
Kevin Ansfield ded84cf60a Koenig - Added SHIFT+ENTER line break key command
refs https://github.com/TryGhost/Ghost/issues/9311
- pressing <kbd>Shift+Enter</kbd> will create a `soft-return` atom that adds a `<br>` element to the doc
- emulates many rich-text editors that have a similar functionality where it's desirable to add line breaks rather than starting new paragraphs
2018-01-30 10:58:28 +00:00
Kevin Ansfield 7013b269ce Fixed node 4.x compatibility in ember-cli-string-helpers
no issue
- linked directly to compatibility fix commit
- PR opened at https://github.com/romulomachado/ember-cli-string-helpers/pull/19
2018-01-29 11:54:24 +00:00
Kevin Ansfield 4ade2bbf79 Update deleted sub-dependency 2018-01-29 11:14:11 +00:00
Kevin Ansfield dd5af3dfc1 Bump dependencies
no issue
- bump all deps with non-breaking changes
- bump yarn.lock sub-dependencies
2018-01-29 11:06:25 +00:00
Kevin Ansfield 0b8aff02fb Bump eslint-plugin-ghost to version actually including node 4.x compat 2018-01-24 20:26:39 +00:00
Kevin Ansfield 58cda663fe Bumped eslint-plugin-ghost (fixed yarn install error) 2018-01-23 17:45:05 +00:00
Kevin Ansfield 41b3521cf1
Resurrect the old alpha Koenig editor (#916)
requires https://github.com/TryGhost/Ghost/pull/9277

- added a `koenigEditor` feature flag
  - modified the feature service to accept a `developer` boolean on the options object passed into the internal `feature` method, if `true` the feature flag won't be enabled unless the `enableDeveloperExperiments` config option is also enabled
  - added "developer feature testing" section in labs that's only visible if `enableDeveloperExperiments` config flag is enabled
  - added koenig editor toggle to the developer section in labs

- enabled a switch between the markdown and koenig editors
  - modified the default value of the `mobiledoc` attr in the Post model to be a blank mobiledoc or blank markdown mobiledoc depending on the feature flag
  - modified the `autofocus` switch in editor controller's `setPost` method so that it is always switched, even for new->edit where the post model isn't swapped
  - added a compatibility check to the editor controller's `setPost` method that shows an alert and force enables the koenig editor if the koenig flag is not enabled and the opened post is not compatible with the markdown editor

- fixed various issues that have appeared due to the old koenig alpha becoming out of sync with master
2018-01-18 15:36:01 +00:00
Kevin Ansfield 6b5c85e005
Bump dependencies (#947)
no issue
- bump all deps with non-breaking changes
- bump yarn.lock sub-dependencies
- add `eslint` as a top-level dependency to satisfy peerDeps and fix linting when using Atom
2018-01-12 13:13:24 +00:00
Kevin Ansfield 7afb88a0c2 Switch to eslint-plugin-ghost extending plugin:ghost/ember
no issue
- fix lint errors in lib/gh-koenig
- fix ghost:base eslint errors
- update ember plugin refs, remove ember-suave plugin refs
- remove old jshint refs
- add `lint:js` script
- switch to `eslint-plugin-ghost` extending `plugin:ghost/ember`
2018-01-12 12:17:56 +00:00
Kevin Ansfield 946a3d5d0b 🐛 Fixed list editing regression in 1.19.2
closes https://github.com/TryGhost/Ghost/issues/9372
- bump codemirror dependency to 5.33.0
- bump simplemde dependency
	- bumps internal codemirror to 5.33.0
	- moves all dependencies to devDependencies
2018-01-05 11:48:12 +00:00
Kevin Ansfield d6cc6c882d
Bump dependencies (#939)
no issue
- upgrade all dependencies with non-breaking changes
- bump sub-dependencies in yarn.lock
2018-01-04 14:18:32 +00:00
Kevin Ansfield 1c1fc8d724 Revert ember-cli to 2.16.2
no issue
- there's a [bug in ember-cli@2.17](https://github.com/ember-cli/ember-cli/issues/7518) that results in production builds throwing an error: `Uncaught Error: Could not find module 'ember-resolver' imported from 'ghost-admin/resolver'`
2018-01-03 14:37:28 +00:00
Tobias Bieniek 5629a86dd4 Update `ember-simple-auth` to v1.4.2 (#932)
no issue
- updates `ember-simple-auth` to v1.4.2 to take advantage of the bug fix in https://github.com/simplabs/ember-simple-auth/pull/1477
- enables/unblocks https://github.com/TryGhost/Ghost-Admin/pull/922
2017-12-27 16:19:48 +00:00
Kevin Ansfield 50f4c6d278
Bump dependencies (#929)
no issue
- upgrade all dependencies with non breaking changes
- bump sub-dependencies in yarn.lock
2017-12-13 12:27:15 +00:00
Katharina Irrgang 7acbc3e61b
Revert "Bump dependencies (#927)" (#928)
This reverts commit 4ef74eeae4.
2017-12-13 10:10:46 +01:00
Kevin Ansfield 4ef74eeae4
Bump dependencies (#927)
no issue
- upgrade all dependencies with non breaking changes
- bump sub-dependencies in yarn.lock
2017-12-12 14:00:35 +00:00
Kevin Ansfield 17bb3edcf1 🐛 Fixed "NaNUndefined" when inserting unordered list items (#920)
closes https://github.com/TryGhost/Ghost/issues/9302

- reverts the `simplemde` bump introduced in https://github.com/TryGhost/Ghost-Admin/pull/911/, the updated version of CodeMirror appears to contain a bug or incompatibility with SimpleMDE
2017-12-04 11:56:21 +01:00
Kevin Ansfield 09cfde54dc bump eslint-plugin-ember, enable default rules 2017-11-25 09:49:49 +00:00
Kevin Ansfield 1916d9029a
Bump dependencies (#911)
no issue
- bump minor/non-breaking dependencies
- bump sub-dependencies in yarn.lock
2017-11-22 13:31:33 +00:00
Kevin Ansfield 12a7e1e661
Bump dependencies (#910)
no issue
- bump all deps with non-breaking changes
- bump sub-dependencies in yarn.lock
2017-11-17 16:15:20 +00:00
Kevin Ansfield d0c33c979f Fix yarn install errors
no issue
- `type-detect@4.0.4` was removed from the registry, ran `yarn upgrade` to bump the dep to `4.0.5`
2017-11-10 09:16:14 +00:00
Kevin Ansfield 8bb24e1ee5 Bump dependencies
no issue
- upgraded all out-of-date deps which don't require additional work to support
- bumped yarn.lock sub-dependencies
2017-11-09 13:39:34 +00:00
Kevin Ansfield ddc7b857b5
Bump ember-ajax dependency (#902)
no issue
- upgrade `ember-ajax` to 3.0.0
- `ember-ajax` [now passes the payload through directly](https://github.com/ember-cli/ember-ajax/releases/tag/v3.0.0) rather than trying to normalize it so all our error handling needed to be updated
2017-11-03 22:59:39 +00:00
Kevin Ansfield 491b498f09 Bump vertical-collection dependency 2017-11-01 08:48:37 +00:00
Kevin Ansfield 39fbb7a625 Bump dependencies 2017-10-31 11:51:18 +00:00
Kevin Ansfield 72ff75b935
New tags input, drop selectize & jquery-ui deps (#892)
closes https://github.com/TryGhost/Ghost/issues/6458
- swap `ember-sortable` for `ember-drag-drop` in navigation UI
- extract PSM tag input into new `{{gh-psm-tags-input}}`
- add new `{{gh-token-input}}` that wraps `ember-power-select` and `ember-drag-drop` to replicate the previous selectize based tags input
- enhance `{{gh-psm-tags-input}}` behaviour to highlight selected primary tag and show "primary/internal" in selected tag titles
- 🔥 remove `selectize`
- 🔥 remove `jquery-ui`
- 🔥 remove unused `{{gh-navigation}}` component
2017-10-31 09:10:49 +00:00
Kevin Ansfield bfb27f677a Bump dependencies (#887)
no issue

- ember/ember-data/ember-cli@2.16
- bump all outdated dependencies that do not require additional work or more extensive tests
- bump sub-dependencies in yarn.lock
- use `broccoli-uglify-sourcemap` (same dep as already used in `ember-cli-uglify`) instead of a separate `broccoli-uglify-js` package for building production codemirror assets
- add `/concat-stats-for` to `.gitignore` so that filesize stats from `CONCAT_STATS=true ember build` don't end up in the repo
2017-10-12 17:42:10 +02:00
Kevin Ansfield b4bb4887b5 🎨 Added keyboard shortcuts for editor modes (#821)
closes https://github.com/TryGhost/Ghost/issues/8863

- Spellcheck shortcut: <kbd>Ctrl-Alt-S</kbd>
- Render preview shortcut: <kbd>Ctrl-Alt-R</kbd>
- Side-by-side preview shortcut: <kbd>Ctrl-Alt-P</kbd>
- fix "Hemmingway" typo
- update simplemde fork to add a bypass of the Ctrl->⌘ transformation in toolbar button tooltips
2017-10-03 12:31:10 +07:00
Kevin Ansfield 918f715a82 🐛 Fixed incorrect Home/End key behaviour on Windows (#870)
closes https://github.com/TryGhost/Ghost/issues/8775

- upgrades our SimpleMDE fork
  - [bumps CodeMirror version to 5.30.0](b3e9f8b579)
  - [fixes Home/End key behaviour on Windows](f2e981845c)
2017-09-25 12:54:19 +02:00
Kevin Ansfield d4faa15f46 Upgrade eslint dependencies (#855)
no issue

- bump ember-cli-eslint and eslint-plugin-ember
- fix indentation & "unnecessary escape chars" lint errors
2017-09-11 14:56:11 +07:00
Kevin Ansfield 6975c01e69 Remove unwanted String.prototype extensions (#856)
closes https://github.com/TryGhost/Ghost/issues/8958

- `markdown-it-named-headers` pulled in `String.js` despite it not being used which added a lot of String.prototype extensions and caused Ember deprecation notices
- moves the short `markdown-it-named-headers` functionality directly into our app code without using `String.js`
2017-09-11 10:39:22 +07:00
Kevin Ansfield 6cb04e4c41 Removed defunct Ghost OAuth code (#848)
refs https://github.com/TryGhost/Ghost/issues/8958

- Ghost OAuth isn't coming back, time for the code to disappear and simply all the things
- fixes the `Usage of router is deprecated` notices that flood the console/test logs when testing
2017-09-04 21:17:04 +02:00
Kevin Ansfield 7f03fa62c2 Run Chrome in headless mode on Travis
no issue
- align Travis config more closely to default ember-cli setup
- run Chrome in headless mode in CI (Travis + `ember test`, `ember test --server` is "dev" mode)
- install yarn via install script rather than npm
- remove broccoli cache from Travis cache (not sure it ever worked?)
- remove forced node-sass install (no longer needed)
- add `testem` as a top-level dep to force the latest version (ember-data is pinned at 1.15)
2017-09-02 16:39:49 -04:00
Kevin Ansfield 39a976cd9d Upgrade to Ember 2.15.0
no issue
- bumped `ember`, `ember-cli`, `ember-data` and related dependencies
- bumped yarn.lock sub-dependencies
- use new public `router` service in place of the private `-routing` service
2017-09-02 16:18:10 -04:00
Kevin Ansfield a75138eb06 Bump dependencies (#839)
no issue
- bump dependencies that don't require additional changes
- bump sub-dependencies in yarn.lock
2017-08-28 11:39:29 +01:00
Kevin Ansfield 88449ed639 Switched from ember-cli-shims to new module imports (#779)
no issue

- add eslint-plugin-ember, configure no-old-shims rule
- run `eslint --fix` on `app`, `lib`, `mirage`, and `tests` to move imports to the new module imports
- further cleanup of Ember globals usage
- remove event-dispatcher initializer now that `canDispatchToEventManager` is deprecated
2017-08-22 14:53:26 +07:00
Kevin Ansfield e9f744fdd7 Bump dependencies (#832)
no issue
- rollup of outdated deps that didn't contain breaking changes
- bumped sub-dependency versions in yarn.lock
2017-08-18 10:58:50 +07:00
Kevin Ansfield 951ede711b Bump postcss and cssnano related dependencies
no issue
- an earlier dependency update resulted in production builds failing due to `cssnano`'s `postcss-merge-idents` dependency failing with a `Maximum call stack size exceeded` error
- bump `cssnano` to the 4.0.0 RC which includes a fix for this issue
- bump other `postcss` dependencies for good measure
2017-08-15 18:10:11 +01:00
Kevin Ansfield 1e3191b811 Unsplash integration
closes https://github.com/TryGhost/Ghost/issues/8859, requires https://github.com/TryGhost/Ghost/pull/8895
- adds Unsplash app to app settings
  - enable/disable toggle
  - validation and testing of Unsplash App ID
  - Unsplash App ID field hidden if provided via Ghost config
  - adds `fetchPrivate` method to `config` service to pull config that requires authentication and updates authentication routines to fetch private config
- adds Unsplash buttons to editor toolbar and `{{gh-image-uploader}}`
  - only present when Unsplash app is enabled
  - opens Unsplash image selector when clicked
  - `{{gh-image-uploader}}` has a new `allowUnsplash` attribute to control display of the unsplash button on a per-uploader basis
- adds Unsplash image selector (`{{gh-unsplash}}`)
  - uses new `unsplash` service to handle API requests and maintain state
  - search
  - infinite scroll
  - zoom image
  - insert image
  - download image
- adds `{{gh-scroll-trigger}}` that will fire an event when the component is rendered into or enters the visible screen area via scrolling
- updates `ui` service
  - adds `isFullscreen` property and updates `gh-editor` so that it gets set/unset when toggling editor fullscreen mode
  - adds `hasSideNav` and `isSideNavHidden` properties
- updates `media-queries` service so that it fires an event each time a breakpoint is entered/exited
  - removes the need for observers in certain circumstances
2017-08-15 16:01:12 +01:00
Kevin Ansfield b3d1474f40 Bump dependencies (#826)
no issue
- rollup of minor dependency updates
- bump yarn.lock sub-dependencies
- remove deprecated use of `testSelector`
2017-08-11 16:28:05 +01:00
Aileen Nowak 837f37de26 Added Twitter & Facebook data override fields to PSM (#814)
refs https://github.com/TryGhost/Ghost/issues/8334, requires https://github.com/TryGhost/Ghost/pull/8827
- added open graph and twitter fields to `Post` model
- added facebook and twitter card pane to PSM
- 💅🏼 Added preview styles for custom FB/Twitter cards
2017-08-03 15:45:14 +04:00
Kevin Ansfield a76d40ab9c ⬆️ bump core ember dependencies (#804)
no issue

- bump core `ember`, `ember-data` and `ember-cli` related dependencies
- remove deprecated `MODEL_FACTORY_INJECTIONS` flag
- update files to better match `ember-cli new` output for easier diffs during upgrades
2017-07-31 13:38:46 +04:00
Kevin Ansfield e94a97d23b ️ hemingway editor mode (disable backspace) (#803)
no issue
- adds Hemmingway Mode toggle to the editor toolbar that disables
backspace
- shortcut is <kbd>Ctrl+Alt+H</kbd>
2017-07-28 17:21:09 +04:00
Kevin Ansfield e7b378ea05 🚀 supercharge tags performance
closes https://github.com/TryGhost/Ghost/issues/8540
- use `{{vertical-collection}}` in the tags dropdown filter list, opening the dropdown is now virtually instant as it's not attempting to immediately render components for every tag in the list
- remove pagination/infinite scroll from tags screen
- load all tags when accessing the tags screen
  - will pause to show spinner if no tags have previously been loaded
  - if tags exist in the ember data store, show the list immediately and load/update list in the background
- use `{{vertical-collection}}` to render enough tags to fill the scrollable area with a small buffer and use occlusion and element re-use to swap tags in whilst scrolling (suuuuper fast no matter number of tags loaded)
- scroll tags into view when they are selected (keyboard nav now makes a lot more sense)
- tested with 875 tags and 2x/5x CPU throttling with no major slowdowns 🎉
2017-07-07 17:53:08 +01:00
Kevin Ansfield d8e1375af4 welcome tour (#527)
refs https://github.com/TryGhost/Ghost/issues/5168
- adds a `tour` service that handles syncing and management of tour throbbers & content
- adds a `gh-tour-item` component that handles the display of a throbber and it's associated popover when clicked
- uses settings API endpoint to populate viewed tour items on app boot/signin
- adds `liquid-tether@2.0.3` dependency for attaching throbbers and popups
- adds initial tour contents
2017-06-08 22:00:10 +07:00
Kevin Ansfield 7eefbba69f 💄🐷 sort-imports eslint rule (#712)
no issue

- adds `eslint-plugin-sort-imports-es6-autofix` dependency
  - implements ESLint's base `sort-imports` rule but has a distinction in that `import {foo} from 'bar';` is considered `multiple` rather than `single`
  - fixes ESLint's autofix behaviour so `eslint --fix` will actually fix the sort order
- updates all unordered import rules by using `eslint --fix`

With the increased number of `import` statements since Ember+ecosystem started moving towards es6 modules I've found it frustrating at times trying to search through randomly ordered import statements. Recently I've been sorting imports manually when I've added new code or touched old code so I thought I'd add an ESLint rule to codify it.
2017-05-29 20:50:03 +02:00
Kevin Ansfield 83081b4b1b ⬇️ revert to autoprefixer@6.7.7 (#709)
refs #706
- bumping to `autoprefixer@7.0.1` in #673 caused `cssnano` to fail on production builds
- upgrading to latest autoprefixer didn't result in any wins
- reverting to `autoprefixer@6.7.7` for now, we may need other dependencies to bump their `postcss` support before it can be upgraded
2017-05-23 19:15:30 +09:00
Kevin Ansfield ef9381b489 add spellcheck toggle (#697)
closes https://github.com/TryGhost/Ghost/issues/8461
- adds toggle spellcheck button to the `gh-markdown-editor` toolbar
- adds custom styles to fake a spellcheck icon
- updates `simplemde` fork
  - adds `spellcheck` to the list of toolbar buttons that don't have their `active` class removed based on cursor position
  - removes bundled `marked` dependency that we no longer use
2017-05-18 19:08:50 +09:00
Kevin Ansfield 6de16a3c55 use markdown-it for markdown previews (#690)
 use markdown-it for markdown previews

no issue

- replaces SimpleMDE's default `marked` rendering with `markdown-it`
- add ember-browserify and markdown-it plugins
2017-05-15 18:51:19 +02:00
Kevin Ansfield 10e883b775 fix missing branch in package.json for our SimpleMDE fork 2017-05-11 14:16:31 +01:00
Kevin Ansfield df354c15d3 ⬆️ bump yarn.lock sub-dependencies 2017-05-10 11:26:06 +01:00
Kevin Ansfield 16438f8c68 bump dependencies (#673)
no issue
- autoprefixer@7.0.1
- broccoli-funnel@1.2.0
- codemirror@5.25.2
- coveralls@2.13.1
- ember-cli@2.13.1
- ember-cli-babel@6.1.0
- ember-cli-chai@0.4.0
- ember-cli-code-coverage@0.3.12
- ember-cli-dependency-checker@1.4.0
- ember-cli-eslint@3.1.0
- ember-cli-htmlbars@1.3.2
- ember-cli-htmlbars-inline-precompile@0.4.2
- ember-cli-mocha@0.14.3
- ember-cli-test-loader@2.1.0
- ember-composable-helpers@2.0.1
- ember-data@2.13.1
- ember-light-table@1.8.6
- ember-native-dom-helpers@0.4.0
- ember-power-datepicker@0.3.0
- ember-power-select@1.8.2
- ember-route-action-helper@2.0.3
- ember-simple-auth@1.3.0
- ember-source@2.13.0
- ember-test-selectors@0.3.3
- fs-extra@3.0.1
- liquid-fire@0.27.3
- liquid-wormhole@2.0.5
- loader.js@4.4.0
- fix async issue in editor title placeholder test
- adds `targets.js` so that babel will only polyfill for the lowest common denominator
2017-05-09 18:15:04 -05:00
Kevin Ansfield a14efa9e16 Fix split screen editor (#684)
no issue

* fix title input padding and placeholder weight
* 🔥 remove unused showdown-ghost dependency
* implement full screen mode via CSS rather than autonav toggle
* implement custom split pane editor preview
    - replace SimpleMDE's split pane handling with our own so that we have more control over the element positioning, toggling of our custom fullscreen code, and so that the preview pane can be scrolled separately as per our old editor
* use forked version of simplemde that has the latest CodeMirror compiled
    - SimpleMDE hasn't been updated for 11 months and the version of CodeMirror is baked into the SimpleMDE code, to get an up to date version I've forked and re-compiled
    - pull in the unminified SimpleMDE source so that it's easier to debug in development, our asset compilation steps will take care of minifying it for production
* fix gh-markdown-editor teardown
2017-05-08 19:15:56 +01:00
Kevin Ansfield 4b48328e6d SimpleMDE editor (#682)
no issue

* move "save on first change" behaviour into editor controller
* allow TAB events to be specified in keyEvents hash of gh-input
* replace mobiledoc-kit/gh-koenig with a SimpleMDE based editor
    - remove `gh-koenig` in-repo-addon from `package.json` so that test files etc aren't loaded
    - remove `mobiledoc-kit` dependencies
    - extends `gh-editor` to handle file drag/drop
    - adds `gh-uploader` and `gh-progress-bar` components to handle file uploads in a more composable manner
    - adds `gh-simplemde` component that wraps SimpleMDE
2017-05-08 11:35:42 +01:00
Kevin Ansfield 9ab7d104ce deps: ember-inline-svg@0.1.11 2017-04-14 16:08:46 +01:00
Kevin Ansfield 34cb65df5c new publish menu and date/time picker (#588)
closes https://github.com/TryGhost/Ghost/issues/8249

- replaces the old split-button publish/schedule/update button with a less confusing menu system
- adds a `{{gh-date-time-picker}}` component that contains a datepicker with separate time input
- replaces the date text input in the post settings menu with `{{gh-date-time-picker}}`
  - disabled when post is scheduled, only way to update a scheduled time is via the publish menu
  - validates date is in the past when draft/published so there's no confusion with scheduling
- displays saving status in top-left of editor screen
- refactor editor (auto)saving processes to use ember-concurrency

Other minor changes:
- adds `post.publishedAtBlog{TZ,Date,Time}` properties to Post model to allow working with `publishedAt` datetime in the selected blog timezone rather than UTC
- adds a `beforeSave` hook to `validation-engine` that is called after successful validation and before the Ember Data save call is made
- adds validation of `publishedAtBlog{Date,Time}` to post validator
- prevent gh-task-button showing last task state on first render
- fixes bug where clicking into and out of the published date input in the PSM without making any changes saves a published date for draft posts
2017-04-11 14:39:45 +01:00
Ryan McCarvill 4670d3fe03 General Editor UI improvements. (#630)
refs https://github.com/TryGhost/Ghost/issues/8248
refs https://github.com/TryGhost/Ghost/issues/8194
closes https://github.com/TryGhost/Ghost/issues/8192

Miscellaneous editor reliability and usability fixes. 
- Improve the reliability of selection.
- Ensure that the + menu appears even if there is a blank document (which meant the events weren't firing from mobiledoc itself)
- When cards are added they are automatically selected and if possible go straight into edit mode (only works on the markdown card).
- Fixes issues in Safari desktop, Safari mobile, and Firefox.
- Tries to position UI on screen at all times.
- Removes fastclick.
2017-04-10 10:10:53 +01:00
Aileen Nowak 750d55737f 🎨 No more icon font: `{{inline-svg}}` (#605)
refs TryGhost/Ghost#8107
- Replaces icon font with `{{inline-svg}}` helper incl. necessary style adjustments.
2017-04-07 16:23:45 +01:00
Kevin Ansfield 5e9e3cd027 switch to ember-cli-moment-shim (#622)
no issue

- preparation for using `ember-pikaday` that utilizes `ember-cli-moment-shim`
- removes usage of `moment` global
- removes custom imports of `moment` and `moment-timezone` libraries
2017-04-05 19:45:35 +02:00
Kevin Ansfield 57b27e4b9c 🐛 fix sticky dropdown links (#621)
closes https://github.com/TryGhost/Ghost/issues/8269

- swaps the usage of our custom `gh-dropdown` component in the user menu dropdown for the `ember-wormhole` based `ember-basic-dropdown` that is used elsewhere in the app and will fully replace `gh-dropdown` in the future
- adds `gh-basic-dropdown` component that extends from `ember-basic-dropdown` and hooks into our `dropdown` service so that we can programatically close dropdowns from disparate areas of the app
- modifies the `body-event-listener` mixin to pass the click event through to it's consumers
- modifies the `bodyClick` handler in the `dropdown` service to check if the click actually originated from an ember-basic-dropdown element - this body click handler will go away once we've fully switched to `gh-basic-dropdown`
- adds `ember-native-dom-helpers` to provide consistency between acceptance and integration tests (this is the start of another refactor, eventually this addon will disappear as part of ember's [grand testing unification project](https://github.com/rwjblue/rfcs/blob/42/text/0000-grand-testing-unification.md))
2017-04-05 15:26:01 +01:00
Kevin Ansfield 0a7154d1c4 bump dependencies (#610)
no issue
- coveralls@2.13.0
- bump yarn.lock sub-dependencies
2017-04-03 11:32:04 +01:00
Kevin Ansfield ec78939910 Fix tests when run via http://localhost:4200/tests (#609)
* deps: ember-cli-node-assets@0.2.2

* fix tests when run via http://localhost:4200/tests

no issue
- `blogUrl` in the mocked config was hardcoded, switching to using the current origin fixed the navigation tests
- we were only pulling jquery drag simulator library in on test builds but we also need it added to `test-support.js` in development builds
- lazy loading is disabled in the test env which previously worked fine as all of the codemirror assets are bundled into the test build, now that we also run tests using the development build we needed to update the config to import codemirror assets into the `test-support.js` file - this ensures that we have normal lazy-loading behaviour when developing locally and that accessing via http://localhost:4200/tests doesn't die horribly due to missing dependencies
2017-03-30 20:51:50 +01:00
Kevin Ansfield f05f31f08e `grunt dev` admin livereload (#590)
refs https://github.com/TryGhost/Ghost/issues/8161, requires tbd
- updates the `ember:watch` grunt task to use `ember serve`, passing in the required `--live-reload-base-url` parameter
  - forces live reload port to `4201` for now as there's a [bug on touchbar macs](https://github.com/ember-cli/ember-cli/issues/6513)
- removes the unused `ember-cli-content-security-policy` dependency to remove console log noise from x-domain warnings

With this and the required Ghost PR, when using `grunt dev` the admin screen will refresh any time a file is changed. It will also allow tests to be run simultaneously by visiting http://localhost:4200/tests
2017-03-30 13:27:01 +01:00
Kevin Ansfield d4cbcfa978 bump yarn.lock sub-dependencies 2017-03-29 10:47:46 +01:00
Kevin Ansfield e65a1b479d minor dependency updates
no issue
- codemirror@5.25.0
- ember-cli-app-version@3.0.0
- ember-cli-eslint@3.0.3
- ember-cli-htmlbars@1.2.0
- ember-cli-postcss@3.2.0
- ember-cli-shims@1.1.0
- ember-cli-test-loader@2.0.0
- ember-data@2.12.1
- ember-export-application-global@2.0.0
- ember-inline-svg@0.1.8
- ember-load-initializers@1.0.0
- ember-power-select@1.6.1
- ember-resolver@4.1.0
- ember-simple-auth@1.2.1
- ember-sinon@0.7.0
- ember-test-selectors@0.3.0
- emberx-file-input@1.1.2
- fs-extra@2.1.2
- liquid-fire@0.27.2
- torii@0.8.2
2017-03-29 10:47:46 +01:00
Kevin Ansfield 3c848048f5 deps: ember-source@2.12.0 2017-03-29 10:47:46 +01:00
Kevin Ansfield 61e73b4d31 deps: ember-concurrency@0.8.1
no issue
- update ember-concurrency
- fix `editor-base-controller` unit tests and remove unnecessary 800ms delays
2017-03-29 10:47:46 +01:00
Kevin Ansfield 3b27fe5d15 deps: ember-cli@2.12.1 (#604)
no issue
- https://emberjs.com/blog/2017/03/19/ember-2-12-released.html#toc_changes-in-ember-cli-2-12
2017-03-28 11:29:18 +01:00
Kevin Ansfield e1f5ee8fcd 🎨 remove usage of ghost's {{asset}} helper in index.html (#574)
refs #8140

🎨 remove usage of ghost's {{asset}} helper in built index.html files

requires https://github.com/TryGhost/Ghost/pull/8142
- switch to hash-location rather than history-location
- remove usage of Ghost's `{{asset}}` helper in index.html
- add `content-for` helpers to `asset-delivery` addon that switch asset urls in index.html to `.min` files in production
- update the `asset-delivery` addon to copy the production `index.min.html` to `default-prod.hbs` so Ghost can serve production assets when in production mode
- change template output path to `core/server/admin/views/`
- enable asset fingerprinting
- remove `ember-cli-sri` dependency - we weren't using it but now that ember is handling assets it was used automatically and could potentially create issues if users have proxy servers that attempt to compress or otherwise modify asset files

 redirect to setup if server says setup isn't finished

refs https://github.com/TryGhost/Ghost/issues/8140
- now we're using hash-location the server no longer knows if we're hitting the /setup route so it's not able to redirect for us
- extends the default ESA `UnauthenticatedRouteMixin` to add a check against the `/authentication/setup` API endpoint and redirects to `/#/setup/one` if setup isn't complete - this works for all routes because the default behaviour when hitting an authenticated route without the right credentials is to force a logout and redirect to `/#/signin` which utilises the `UnauthenticatedRouteMixin`

deps: ember-cli-inject-live-reload@1.6.1
2017-03-14 17:04:46 +01:00
Katharina Irrgang a4c69b0bf0 🔥 remove bg shell from Gruntfile (#582)
refs TryGhost/Ghost#7427, requires TryGhost/Ghost#8158
- both Ghost and Ghost-Admin run the watch command in background, that didn't work
- the caller can decide if running the watch command in bg or not
- furthermore, the caller can decide if printing stdout/stderr
2017-03-14 13:52:36 +00:00
Kevin Ansfield e01adb2fa3 Dependency updates (#581)
no issue
* ember-data@2.12.0
* autoprefixer@6.7.7
* ember-cli-mirage@0.2.8
* ember-cli-app-version@2.0.2
* ember-resolver@3.0.0
* grunt-shell@2.1.0
* bump yarn.lock sub-dependencies
2017-03-14 13:19:58 +00:00
Austin Burdine 35ffe11661 various test deprecation cleanup
no issue
- cleans up a lot of the deprecation noise in tests
- remove ember-cli-deprecation-workflow dependency
2017-03-08 18:56:30 +00:00
Kevin Ansfield 541fe992f1 bump yarn.lock sub-dependencies 2017-03-08 12:16:25 +00:00
Kevin Ansfield 1c8d54808b deps: loader.js@4.2.3 2017-03-08 12:16:25 +00:00
Kevin Ansfield d02803e8a0 deps: liquid-wormhole@2.0.4 2017-03-08 12:16:25 +00:00
Kevin Ansfield 2cf56db0e1 deps: ember-power-select@1.5.0 2017-03-08 12:16:25 +00:00
Kevin Ansfield ce625b65dc deps: ember-light-table@1.8.4 2017-03-08 12:16:25 +00:00
Kevin Ansfield b1eda7340f deps: ember-cli-postcss@3.1.2 2017-03-08 12:16:25 +00:00
Kevin Ansfield a1883bd5b4 deps: broccoli-merge-trees@2.0.0 2017-03-08 12:16:25 +00:00
Kevin Ansfield 03ce096c88 deps: ember-ajax@2.5.6 2017-03-08 12:16:25 +00:00
Kevin Ansfield 43f791cf9f deps: csscomb@4.0.1 2017-03-08 12:16:25 +00:00
Kevin Ansfield d2abedb4ba deps: coveralls@2.12.0 2017-03-08 12:16:25 +00:00
Kevin Ansfield 265d67b7bb deps: autoprefixer@6.7.6 2017-03-08 12:16:25 +00:00
Kevin Ansfield 5181852b50 🐛 re-add broccoli-clean-css
no issue
- `broccoli-clean-css` is used to compress codemirror CSS files so it's still needed
- update usage in `ember-cli-build.js` to match 2.0's class interface
2017-03-03 17:19:19 +00:00
Kevin Ansfield 2b3d512fb0 move editor deps into main project
no issue
- this prevents the need for running `npm/yarn install` inside the `lib/gh-koenig` directory
- `ember-cli` may eventually be able to handle this with an `ember install` or similar command, there's [an in-repo-addon RFC](638cad2405/active/0000-better-in-repo-addons.md) suggesting this improvement but it hasn't got much traction yet - it may be necessary to wait until ember-cli has standardised on `yarn`
2017-03-02 11:06:20 +00:00
Kevin Ansfield cd2c626670 bump yarn.lock deps 2017-03-02 09:57:56 +00:00
Kevin Ansfield c2a69ca32c bump yarn.lock sub-dependencies 2017-03-01 16:47:50 +00:00
Kevin Ansfield d1641636df deps: ember-cli-mirage@0.2.6 2017-03-01 16:47:50 +00:00
Kevin Ansfield 12539258b4 deps: loader.js@4.2.2 2017-03-01 16:47:50 +00:00
Kevin Ansfield b5ccec7c75 deps: broccoli-clean-css@2.0.1 2017-03-01 16:47:50 +00:00
Kevin Ansfield d669aa0e5b deps: liquid-wormhole@2.0.3 2017-03-01 16:47:50 +00:00
Kevin Ansfield f24b689930 deps: broccoli-concat@3.2.2 2017-03-01 16:47:50 +00:00
Kevin Ansfield 5b03403ed7 deps: liquid-fire@0.27.1 2017-03-01 16:47:50 +00:00
Kevin Ansfield 3a8fb3e366 deps: codemirror@5.24.2 2017-03-01 16:47:50 +00:00
Kevin Ansfield 5d24f944d0 deps: csscomb@4.0.0 2017-03-01 16:47:50 +00:00