Commit Graph

2513 Commits

Author SHA1 Message Date
Kevin Ansfield
72fe327c3b Fix cmd-s shortcut not saving changes in text fields with focusout
closes #4556
- when <kbd>CMD-S</kbd> is used, if the focused element is an input, trigger it's `focusout` handler then schedule the save action to happen after any actions resulting from the trigger
2016-05-11 11:59:36 +02:00
Aileen Nowak
b7bd6d9968 Structured Data 3.0
closes #6534
- new input fields in general settings incl. validation
- facebook and twitter as new models in settings.js
- adds values for facebook and twitter to default-settings.js
- adds blog helpers for facebook and twittter
- rather than saving the whole URL, the Twitter username incl. '@' will be extracted from URL and saved in the settings. The User will still input the full URL. After saving the blog setting, the stored Twitter username will be parsed again as the full URL and available in the input field. A custom transform is used for this.
- adding meta fields to be rendered in {{ghost_head}}:
	- '<meta property="article:publisher" content="https://www.facebook.com/page" />' and
	- '<meta name="twitter:site" content="@user"/>'
- adds facebook and twitter to unit test for structured data
- adds unit test for general settings
- adds acceptance test for new input fields in general settings
- adds a custom transform for twitter model to save only the username to the server
- adds unit test for transform
2016-05-08 17:43:59 +02:00
Hannah Wolfe
5eb5c2b3ef Merge pull request #6788 from kevinansfield/synchronous-labs-flags
Synchronous feature service
2016-05-08 13:59:31 +02:00
Hannah Wolfe
79b18f9566 Merge pull request #6802 from kevinansfield/editor-img-perf-makes-me-sad
Fix editor image perf and upload bug
2016-05-08 13:58:54 +02:00
Kevin Ansfield
49414d0843 Fix editor image perf and upload bug
no issue
- ~10x speedup in processing time taken on each keypress when there are many images/image upload components in the editor
  - edit DOM in memory before changing it in the page to avoid double-render
  - keep upload components around and re-assign them on re-render, adding or removing an image will still re-generate everything
- adds a throttle to the preview rendering so that renders don't get queued up
- fixes occasional bug where uploading an image didn't update the markdown correctly due to a timing issue
2016-05-08 12:55:56 +02:00
Aileen Nowak
35ecaee6d3 Slack integration
closes #6584
- Frontend Changes:
	- adds 'Apps' to Navigation Menu
	- adds 'Slack' as nested page to Apps
	- adds `apps.css`
	- adds `slack-integration` model and uses `slack-settings` custom transform to parse JSON file
	- adds validation for `slack` model
	- adds fixtures and `slack/test` API endpoint to Mirage
	- adds acceptance tests for `apps-test` and `slack-test`
	- adds unit tests for `slack-settings` and `slack-integration`
- Backend Changes:
	- adds API endpoint `slack/test` to send Test Notification
	- adds default-values for slack model
	- sends payload to slack:
		- text: the url of the blogpost / test message
		- icon_url: url to ghost logo
		- username: Ghost
	- adds `slack/index.js` to send webhook to slack if
		- a new post is published (if slack webhook url is saved in settings)
		- user clicks on 'Send Test Notification' in UI
	- adds `slack.init()` to `server.index.js` to add event listener
	- adds unit test for `slack/index`
2016-05-08 12:49:15 +02:00
Kevin Ansfield
3f6a67bc1f Synchronous feature service
supersedes #6773
- update `feature` service and `gh-feature-flag` component to work synchronously rather than async
- use the application route's `afterModel` hook so that settings are loaded before first load
- override `session` service's `authenticate` method to load the settings after successful authentication before any other routes are processed
2016-05-07 15:00:06 +02:00
Kevin Ansfield
090c18da21 deps: ember-simple-auth@1.1.0-beta.5
no issue
- fixes last remaining 1.1.0 issue, will quite likely be last beta before final release
2016-05-05 12:55:42 +02:00
Austin Burdine
1a6568d8e2 remove unused feature controller 2016-04-28 12:22:54 -05:00
Austin Burdine
d5a2bc0b63 convert more action calls to the ember-invoke-action syntax 2016-04-28 10:34:36 -05:00
Austin Burdine
0f3c5e5900 deps: ember-simple-auth@1.1.0-beta.4
- remove related deprecation line in deprecation-workflow.js
2016-04-28 08:34:26 -05:00
Kevin Ansfield
9271343c9f Merge pull request #6767 from acburdine/ember-2.5.1
deps: ember@2.5.1
2016-04-28 14:18:29 +01:00
Austin Burdine
2cb22326d9 deps: ember@2.5.1
- removes Ember.merge deprecation
2016-04-28 07:15:15 -05:00
Kevin Ansfield
9aa43ec751 Don't add trailing slash to end of url with parameters
no issue
- updates the `TrailingHistory` locationType so that trailing slashes aren't added to the end of URLs with parameters but instead matches how the server-side redirects to trailing-slash URLs
- before: `/subscribers?order=created_at/`
- after: `/subscribers/?order=created_at`
2016-04-28 12:42:03 +01:00
Kevin Ansfield
3fe030187e Merge pull request #6748 from acburdine/closure-actions-readability
Use ember-invoke-action for closure action handling
2016-04-28 10:12:24 +01:00
Austin Burdine
f8c0163eb1 deps: ember-invoke-action@1.3.0
no issue
- replace instances of `this.get('action')()` with ember-invoke-action syntax
2016-04-26 16:32:17 -05:00
Kevin Ansfield
9c5eaab37f Use a custom transform to simplify navigation settings
no issue
- moves the `NavItem` object from the navigation controller to an explicit `NavigationItem` model file
- adds a custom transform `navigation-settings` that transforms the navigation settings JSON string to/from an array of `NavigationItem` objects
- simplifies the `settings/navigation` controller as it no longer has to export it's own internal model and handle serialization and deserialization

This pattern should also help simplify the apps/slack integration code if implemented there.
2016-04-26 12:32:29 +01:00
Kevin Ansfield
7a455a3e1d Don't share errors and hasValidated references between validator instances
no issue
- ensure that each validator instance gets it's own `errors` and `hasValidated` objects
- updates some uses of `ValidationEngine` that were relying on side-effects of the unintended reference sharing
- fixes issue with add subscriber modal displaying an error state after opening if it previously had errors when closing
2016-04-25 10:56:11 +01:00
Austin Burdine
e8e249691c lock jquery-deparam version 2016-04-20 06:18:47 -05:00
Austin Burdine
c6ef618e10 deps: password-generator@2.0.2 2016-04-20 06:17:44 -05:00
Austin Burdine
95030734e9 allow ember to specify jQuery version
- fix slight acceptance test bug
2016-04-19 14:08:36 -05:00
Austin Burdine
96c855136c replace gh-selectize with power-select in gh-search-input
refs #6458
2016-04-19 10:55:10 -05:00
Austin Burdine
8221f86fac deps: ember-power-select@0.9.2 2016-04-19 10:25:58 -05:00
Austin Burdine
6c5a4ed93d Merge pull request #6735 from kevinansfield/improve-pagination-mixin
Improve `PaginationRoute` mixin
2016-04-19 10:20:08 -05:00
Kevin Ansfield
459f2c4355 Improve PaginationRoute mixin
no issue
- returns the promise/result from `loadNextPage` so that it's return value can be utilised in closure actions
- sets the `isLoading` property in `loadFirstPage` to match `loadNextPage` behaviour
- reset the `isLoading` property even if the request fails
- adds a `didReceivePaginationMeta` hook so that consumers of the mixin can use the metadata values without having to rely on observers
  - eg. pulling the `total` into a separate property that can be manipulated when items are added/removed but still reset to the sever's total value the next time a page is loaded
- renames the `pagination-route` mixin to simply `pagination` as it's not tied to routes and works equally well in other objects that need to paginate an API resource
2016-04-19 10:53:45 +01:00
Kevin Ansfield
5eb120cc8b deps: ember-one-way-controls@0.6.2
no issue
- https://github.com/DockYard/ember-one-way-controls/compare/v0.5.4...v0.6.2
- bugfixes
- dynamic attribute binding (attributes no longer need to be explicitly defined in the components in order to be recognised)
- adds `one-way-radio` component
2016-04-19 10:22:29 +01:00
Austin Burdine
3461ef96ed deps: ember-cli@2.5.0 2016-04-17 20:05:42 -05:00
Austin Burdine
e12e976c58 deps: ember-data@2.5.2 2016-04-15 00:32:57 -05:00
Austin Burdine
71474c4422 deps: ember@2.5.0 2016-04-15 00:24:57 -05:00
Hannah Wolfe
999f7d43e2 Merge pull request #6714 from kevinansfield/allow-mocked-endpoints-in-dev
Enable ability to mock endpoints in development mode
2016-04-14 19:12:43 +01:00
Hannah Wolfe
c53e45fc8a Merge pull request #6651 from kevinansfield/uploader-js-must-die
Replace jQuery-based uploader.js with ember components
2016-04-14 16:57:57 +01:00
Kevin Ansfield
d83142e67d Enable ability to mock endpoints in development mode
no issue
- moves existing mirage config into the `testConfig()` function to retain full mocks during testing
- configure mirage to passthrough all requests when in development mode
2016-04-14 15:26:39 +01:00
Kevin Ansfield
72023d3ff2 Fix redirect to posts list when saving a new post as an author
no issue
- replace deprecated `normalizeHash` with `normalize` in post serializer
- ensure we check for both `post` and `posts` properties as it will vary depending on the expected response type
2016-04-13 12:28:11 -05:00
Austin Burdine
b8e1f82f37 fix leave editor modal
no issue
- following up from 6680, fixes a missing set of parentheses
2016-04-12 14:04:59 -05:00
Jeff Jewiss
619647fd53 Saves post title on focus blur if status is draft
Closes #6656
- adds an action to update the title
- checks if the post title has changed and is a draft and sends a silent + background save action
- includes the action on the focus-out event on the post title
2016-04-10 21:47:28 -04:00
Austin Burdine
b510d9a12c Merge pull request #6694 from jaswilli/bind
Remove Function.bind polyfill
2016-04-10 00:53:19 -05:00
Jason Williams
0feb66224b Remove Function.bind polyfill
- Not used anymore, and phantomjs 2 has a native .bind
2016-04-09 13:06:54 -05:00
Kevin Ansfield
eb1cf51bf6 Avoid use of this.attrs for closure actions
no issue
- `this.attrs` is a glimmer-component thing (which doesn't exist in Ghost yet), to avoid confusion we should avoid using it
- https://locks.svbtle.com/to-attrs-or-not-to-attrs
- https://github.com/cibernox/ember-power-select/issues/233#issuecomment-170352572
2016-04-09 10:46:19 +01:00
Hannah Wolfe
0ed304f446 Merge pull request #6690 from kevinansfield/ember-suave-2-0
deps: ember-suave@2.0.1
2016-04-08 23:05:51 +01:00
Kevin Ansfield
1849dc1158 deps: ember-suave@2.0.1
no issue
- https://github.com/DockYard/ember-suave/releases/tag/v2.0.0
- fix linting errors arising from new rules
2016-04-08 16:27:24 +01:00
Kevin Ansfield
1667150a4a deps: pretender@1.0.0
no issue
- https://github.com/pretenderjs/pretender/blob/master/CHANGELOG.md#10
- https://github.com/pretenderjs/pretender/compare/0.10.1...1.0.0
2016-04-08 15:54:23 +01:00
Kevin Ansfield
7d051777aa deps: moment@2.12.0
no issue
- https://github.com/moment/moment/blob/develop/CHANGELOG.md#2103-see-full-changelog
2016-04-08 15:51:55 +01:00
Kevin Ansfield
e8b840a493 deps: Faker@3.1.0
no issue
- https://github.com/Marak/faker.js/compare/v3.0.1...v3.1.0
2016-04-08 15:36:37 +01:00
Kevin Ansfield
56637fe4fa deps: remove unused es5-shim bower dependency 2016-04-08 15:34:21 +01:00
Kevin Ansfield
80ae749fde deps: codemirror@5.13.2
no issue
- https://github.com/codemirror/CodeMirror/blob/master/CHANGELOG.md#520-2015-04-20
2016-04-08 15:30:50 +01:00
Kevin Ansfield
3d20bb8f5b deps: blueimp-md5@2.3.0
no issue
- https://github.com/blueimp/JavaScript-MD5/compare/1.1.0...v2.3.0
2016-04-08 15:28:30 +01:00
Kevin Ansfield
ec312f04ee deps: ember-cli-pretender@0.6.0
no issue
- updates `pretender` dependency
- https://github.com/rwjblue/ember-cli-pretender/compare/v0.5.0...v0.6.0
2016-04-08 15:18:39 +01:00
Kevin Ansfield
206c6d1b69 deps: ember-cli-mocha@0.10.1
no issue
- https://github.com/switchfly/ember-cli-mocha/compare/v0.10.0...v0.10.1
2016-04-08 15:16:14 +01:00
Kevin Ansfield
fb8e9b743c deps: ember-cli-mirage@0.1.13
no issue
- https://github.com/samselikoff/ember-cli-mirage/releases/tag/v0.1.12
- https://github.com/samselikoff/ember-cli-mirage/compare/v0.1.11...v0.1.13
2016-04-08 15:15:28 +01:00
Kevin Ansfield
8e4bd8f900 deps: ember-cli-deprecation-workflow@0.2.0
no issue
- https://github.com/mixonic/ember-cli-deprecation-workflow/compare/v0.1.6...v0.2.0
2016-04-08 15:15:22 +01:00