Commit Graph

5428 Commits

Author SHA1 Message Date
Kevin Ansfield
b521e4dba4 Fix and add tests for Ghost Desktop manual update notification
closes #51
- move the check into the `afterModel` hook so that it's always performed on app load (previously it would only be displayed after going through the sign-in process)
- change the alert type to `warn` so that it matches our existing types (success, warn, error)
- don't rely on the `.htmlSafe()` prototype extension
- add basic tests for the upgrade alert display
2016-06-13 13:40:41 +01:00
Kevin Ansfield
39a09ca28a Fix auth header caching in ajax service
closes https://github.com/TryGhost/Ghost/issues/6884
- mark the `headers` method in the ajax service as "volatile" - it's dependent key was causing the auth headers to be cached on first use which would then cause 401 errors once the token had been refreshed externally

It would also be possible to add `session.authenticated.access_token` as a dependent key but the code-path and usage are minimal so I believe `.volatile()` is preferable as it means that it's not tied directly to the authorizer implementation.
2016-06-13 11:40:08 +01:00
Kevin Ansfield
e308256601 Merge pull request #61 from acburdine/jscs-update
Update grunt-jscs and ember-suave to 3.0.0
2016-06-13 08:49:11 +01:00
Austin Burdine
cf36851265 deps: grunt-jscs,ember-suave@3.0.0
replaces #41, #60
- update ember-suave and grunt-jscs to 3.0
- standardize Ember global de-structuring rules across app & tests
2016-06-11 13:39:31 -06:00
Aileen Nowak
6d22a6dcb6 Add UTC timezone as default in settings model
no issue

- Changes the default timezone from 'Europe/Dublin' to 'Etc/UTC' in setting model
- Updates acceptance test for settings general to expect more timezones in list and different default
- adds mirage fixtures values
2016-06-11 12:24:04 +02:00
Hannah Wolfe
bba0918a2f Labs Subscribers option clearer & with docs link
no issue

- changes wording to not indicate that we already send emails
- adds link to documentation
2016-06-10 08:51:44 +01:00
Kevin Ansfield
12cda07e94 deps: ember@2.6.0
no issue
- bugfix & cleanup release https://github.com/emberjs/ember.js/releases/tag/v2.6.0
- fix tests that were relying on not having the `rootURL` prefixed in `href`s
2016-06-09 16:58:09 +01:00
Felix Rieseberg
289742a7b5 Check for Ghost Desktop manual update
If the user is running a version of Ghost Desktop that requires a
manual update, we display a little warning message referring to a blog
post on dev.ghost.org.
2016-06-08 15:10:56 -07:00
Kevin Ansfield
7c2e923074 Rename "offset" to "blogTimezone"
refs https://github.com/TryGhost/Ghost/pull/6941#issuecomment-224553575
- `blogTimezone` and `timezone` better reflect their values (a string representing a timezone in the format `Europe/Dublin`) than `offset` which suggests a fixed value
2016-06-08 12:09:19 +01:00
Kevin Ansfield
0c79ff3365 deps: ember-ajax@2.4.1
no issue
- update ember-ajax
- update error handling to match recommended approach
- update error normalization for handling a returned array of strings
2016-06-06 11:54:15 +01:00
Kevin Ansfield
d53ef125e0 Update package.json details, rename module to ghost-admin
no issue
- updates `package.json` details to better reflect the separation from the `Ghost` package
- update ember config and all import statements to reflect the new `ghost-admin` module name in `package.json`
2016-06-03 16:12:54 +01:00
Aileen Nowak
24e71ffdaa Timezones: Always use the timezone of blog setting
closes TryGhost/Ghost#6406

follow-up PR of #2

- adds a `timeZone` Service to provide the offset (=timezone reg. moment-timezone) of the users blog settings
- `gh-datetime-input` will read the offset of the timezone now and adjust the `publishedAt` date with it. This is the date which will be shown in the PSM 'Publish Date' field. When the user writes a new date/time, the offset is considered and will be deducted again before saving it to the model. This way, we always work with a UTC publish date except for this input field.
- gets `availableTimezones` from `configuration/timezones` API endpoint
- adds a `moment-utc` transform on all date attr (`createdAt`, `updatedAt`, `publishedAt`, `unsubscribedAt` and `lastLogin`) to only work with UTC times on serverside
- when switching the timezone in the select box, the user will be shown the local time of the selected timezone
- `createdAt`-property in `gh-user-invited` returns now `moment(createdAt).fromNow()` as `createdAt` is a moment date already
- added clock service to show actual time ticking below select box
- default timezone is '(GMT) Greenwich Mean Time : Dublin, Edinburgh, London'
- if no timezone is saved in the settings yet, the default value will be used
- shows the local time in 'Publish Date'  in PSM by default, until user overwrites it
- adds dependency `moment-timezone 0.5.4` to `bower.json`

---------

**Tests:**

- sets except for clock service in test env
- adds fixtures to mirage
- adds `service.ajax` and `service:ghostPaths` to navigation-test.js
- adds unit test for `gh-format-timeago` helper
- updates acceptance test `general-setting`
- adds acceptance test for `editor`
- adds integration tests for `services/config` and `services/time-zone`

---------

**Todos:**

- [ ] Integration tests: ~~`services/config`~~, ~~`services/time-zone`~~, `components/gh-datetime-input`
- [x] Acceptance test: `editor`
- [ ] Unit tests: `utils/date-formatting`
- [ ] write issue for renaming date properties (e. g. `createdAt` to `createdAtUTC`) and translate those for server side with serializers
2016-06-03 16:23:39 +02:00
Kevin Ansfield
4cc4781b3e Add version header to API requests
no issue
- modifies the version info included in `env.APP.version` to only include the `major.minor` version numbers
- update base adapter to include `X-Ghost-Version` header
- update `ajax` service to include `X-Ghost-Version` header
2016-06-03 11:53:29 +01:00
Hannah Wolfe
3e64cbe5f9 Merge pull request #27 from kevinansfield/improve-file-upload-tests
Improve uploader tests + test subscribers CSV import
2016-05-27 19:29:07 +01:00
Kevin Ansfield
66ed2a02df Improve uploader tests + test subscribers CSV import
no issue
- override `x-file-input` in `gh-file-input` to look for a custom property on the change event if we are in testing mode (this is necessary because Ember 2.5+ use native rather than jQuery events so `target.files` is readonly, see https://github.com/emberjs/ember.js/issues/13540)
- migrate unit tests for the uploader components to the integration tests
- add skipped acceptance tests for the subscribers CSV import now that it's possible to simulate file uploads
2016-05-27 13:34:31 +01:00
Kevin Ansfield
3e1087f80f Remove outline from search input
no issue
- remove the outline that is shown on the search input once the dropdown box has closed
- remove unused styles for the old selectize-based search input
2016-05-25 10:52:21 +01:00
Kevin Ansfield
131d08f1e6 Fix broken editor when content contains wrapped images
no issue
- don't assume that the upload element that is being replaced is top-level, target the element's parentNode rather than the overall fragment
2016-05-18 21:52:07 +01:00
Kevin Ansfield
92c5394449 Fix drag-n-drop files from Chrome's download bar
closes #6850
- HTML5 drag-n-drop has some weird inconsistencies around the `dragOver` event where it defaults the "drop" behaviour to nothing so you need to cancel the defaults and override
	- http://stackoverflow.com/questions/19526430/drag-and-drop-file-uploads-from-chrome-downloads-bar
2016-05-18 09:53:10 +01:00
Kevin Ansfield
64a85ced32 Fix unwanted clearing of social inputs on blur with no edits
no issue
- updates the logic to expect `null` scratch values as the scratch values won't be set until the input value has changed
- adds tests for initial value display and regression tests for the cleared input bug
2016-05-17 19:14:14 +01:00
Aileen Nowak
01e52013e7 Fixes error in validation
closes #6826

- refactors the validation of facebook and twitter input field in `general.js` and `user.js` controller
	- Example validations for facebook:
		- `facebook.com/username` will be corrected to the full URL
		- `user` will show error `Your Page name is not a valid Facebook Page name' for `general.js` and `Your Username is not a valid Facebook Username` for `user.js` as the username in facebook has to be at least 5 characters long
		- `twitter.com/username` will be autocorrected to the valid facebook URL incl. the `username`
	- Example validations for twitter:
		- `twitter.com/user_` will be corrected to the full URL
                - `user:99` will show error `Your Username is not a valid Twitter Username`
                - `facebook.com/username` will be autocorrected to the valid twitter URL incl. the `username`
- updates both acceptance tests
- adds further validation for facebook pages in general settings and user. Submitting a url which incl. `/page/` or `/pages/` will now accept any username followed incl. further `/`.
- adds a custom transform `facebook-url-user` which will extract the username (if it's a facebook page, incl. `pages/`) to store only this in the backend
- uses the `twitter-url-user` transform now also for user
2016-05-17 17:44:23 +01:00
Kevin Ansfield
df118c07e3 Merge pull request #6830 from acburdine/no-show-nav-menu
Don't show the nav menu when on a 404 route and not signed in
2016-05-16 11:01:44 +02:00
Austin Burdine
4856276a06 update document title on blog title change
no issue
- force document.title to recompute when the blog title is changed in settings/general
2016-05-15 18:41:28 -06:00
Austin Burdine
562c50d54e don't show the nav menu when on a 404 route and not signed in
no issue
- fixes problem when the nav menu would be shown on an error404 route when the user is not logged in
- adds failing test that passes with this change
2016-05-13 19:02:55 -06:00
Kevin Ansfield
b0cd10b845 Fix initial loading of a route with an invalid session
no issue
- if the session is "authenticated" but is invalid, the initial load of the app would fail. It could be replicated by:
	1. Authenticating in a running ghost instance
	2. Stopping ghost
	3. Deleting the database
	4. Re-starting ghost
	5. Closing the browser
	6. Re-opening the browser and visiting http://localhost:2368/ghost
- this fix stores the `transition` object for the duration of the initial load so that `sessionInvalidated` method can trigger actions before the transition has finished
2016-05-13 13:47:39 +02:00
Kevin Ansfield
11d2f620e1 Fix loss of private settings when saving in certain circumstances
no issue
- always ensure we load a full settings object so that we don't risk saving a partial settings object back to the server
- should fix the issues reported in Slack of disappearing private settings over time
2016-05-13 12:24:17 +02:00
Kevin Ansfield
410d03d66d Allow table content to be selectable
no issue
- overrides the global `user-select: none` style for `th` and `td` elements
2016-05-12 17:42:52 +02:00
Brian Tedder
c2cf17478a Remove select-all on click for PSM slug input
issue #6655
-remove selectOnClick from input
2016-05-11 19:59:54 -06:00
Hannah Wolfe
3e5832ee48 Merge pull request #6811 from kevinansfield/fix-new-subscriber-validation
Fix display of server-provided validation error when adding subscriber
2016-05-11 22:24:28 +02:00
Kevin Ansfield
8826f0e66a Fix display of server-provided validation error when adding subscriber
no issue
- make the check for "email" in the server provided error case-insensitive
2016-05-11 19:56:58 +02:00
Hannah Wolfe
5d3b32a926 Pre-populate setup values from config
no issue
- Check for title, user_name and user_email in the top level of config.
- If they exist, return them as part of the setup check, so that the setup screen can be prepopulated
2016-05-11 19:30:56 +02:00
John O'Nolan
7cd6c786f9 Merge pull request #6764 from TryGhost/subscribe
Subscribers
2016-05-11 13:53:53 +02:00
Hannah Wolfe
1c35fefbb9 Merge pull request #6703 from kevinansfield/6640-tests
Improve `gh-profile-image` tests for #6640
2016-05-11 13:00:19 +02:00
Kevin Ansfield
5b1178c7c5 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
kirrg001
ec0eeceff0 Subscribers: Move read CSV into separate utility
- split out read CSV function into utility and add tests
- update API response to follow JSONAPI more closely
- update the UI to match the new API response
2016-05-11 11:22:35 +02:00
Kevin Ansfield
755e048f98 Subscribers: Admin UI updates & fixes
Update for synchronous feature service

Add client-side handling of server-side errors when adding subscribers
- display server-provided error message when we get a server error
- fix the ajax util's `getRequestErrorMessage` method so that it works correctly with Ember's `InvalidError` object instead of the previous request object that it was receiving (*TODO:* this really needs looking at properly so we aren't losing details and Ember Data can do it's stuff)

Styling updates
- proper icon for ascending/descending
- change hover colour to green for "Import CSV" button

Delete subscriber button with confirm modal
- display delete button when hovering over a subscriber row (WARN: really ugly button, styles definitely want looking at)
- show confirm modal when clicking the delete button
- delete subscriber, remove from table, and update total on confirm
2016-05-11 11:22:35 +02:00
Hannah Wolfe
2313dab449 Subscribers: router & form helpers
Form:
- add confirm, location & referrer hidden fields
- add script to populate location & referrer
- add helper for creating the email field
- pass through input class and placeholder for email from top level form helper
- rename subscribe_form template & helper as it sounds more natural
- handle success and error cases differently
- improve error message display
- ensure useful data is passed back so that we can show nice messages
- check for honeypot value being filled out
- refactor error handler to set an error and always still render
2016-05-11 10:28:11 +02:00
Kevin Ansfield
83c9270682 Subscribers: Admin User Interface v1
Initial Subscribers screen
- set up mocked api endpoints
- basic subscribers screen with data loading, infinite scroll

"Add Subscriber" screen
- uses modal to display a new subscriber form
- validates subscriber e-mail address
- moves pagination from route into controller to use filtered/sorted CPs on top of a live-query so that new subscribers are added to the list and the total can be properly managed

TODO:
- there is currently a pretty serious performance issue where the whole table is re-rendered when the live-query is updated. `ember-light-table` doesn't allow for live-binding and has no options to easily manipulate it's rows using an external interface - it's possible to move the page loading into the component so we only render new rows but that leaves it difficult to react to new subscribers being added through the UI. I believe the number of components used within the table is also adding to the performance problems.
  - most likely solution is to drop `ember-light-table` in favour of rendering the table directly - glimmer should do a good job of fast updates even though the underlying array will be completely swapped out

"Import subscribers" screen
- uses modal to display an import subscribers CSV file upload form
- displays upload progress
- displays import stats and reloads subscribers table once import has completed
- adds `gh-file-uploader` component (NB. pared down copy of `gh-image-uploader`, ripe for some refactoring)
- fixes subscribers acceptance test failing because fixtures did not have the labs flag enabled

Unfortunately this doesn't have 100% test coverage as we're limited in how we can simulate file uploads 😞

Fix performance issues with subscribers table
- moves the table definition from the component up to the controller
- switches back to manually manipulating table rows instead of using a live-query

This is a quick-fix in that it allows us to continue using the `ember-light-table` component but it does mean that we lose some flexibility that the live-query gave us. For now it's not much of an issue and it allows us to defer deeper performance/flexibility work until we have a concrete need and requirements.

Hook up Export CSV button
- use a hidden iFrame to trigger the browser to hit the CSV export endpoint and download the file

Re-order subscribers table by clicking column headers
- displays currently sorted column and sort direction
- clicking a column header re-fetches the data from the server with the appropriate query params

Fix scroll triggers for infinite pagination + icon change
- adds a debounce as well as the throttle so that we always get a final scroll trigger once scrolling has stopped
- changes the subscribers icon from the temporary team icon to the mail icon
2016-05-11 10:28:11 +02:00
Kevin Ansfield
e8c337f3f6 Improve gh-profile-image tests for #6640
refs #6640
- add `NotFoundError` to ajax service and test against that when catching errors in `gh-profile-image`
- don't use `passthrough` in Mirage for gravatar requests to avoid network calls during testing
- add additional tests for `gh-profile-image` and put the debounced gravatar test back in place
2016-05-09 22:14:12 +02:00
David Balderston
d8ede94ac6 Fix Transparent Background in Gravatar Showing Background Image
Closes #5882

* If a gravatar image is available, remove the default image behind it
* If gravatar image is not available, keep or replace the default image
2016-05-09 22:09:27 +02:00
Aileen Nowak
c8d0e25923 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
183e53371f Merge pull request #6788 from kevinansfield/synchronous-labs-flags
Synchronous feature service
2016-05-08 13:59:31 +02:00
Hannah Wolfe
cf99964750 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
02b57750cf 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
753f307382 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
2da6673197 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
Austin Burdine
5cc75b1c6c remove unused feature controller 2016-04-28 12:22:54 -05:00
Austin Burdine
ab945b0827 convert more action calls to the ember-invoke-action syntax 2016-04-28 10:34:36 -05:00
Kevin Ansfield
98f92c1444 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
50d1737a25 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
6e29b546f7 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
0e2f4ea33e 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
983c708ece 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
eb2e369326 replace gh-selectize with power-select in gh-search-input
refs #6458
2016-04-19 10:55:10 -05:00
Kevin Ansfield
5f7bd12eec 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
Austin Burdine
e07a3f4145 deps: ember@2.5.0 2016-04-15 00:24:57 -05:00
Hannah Wolfe
159d729855 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
a2a825bfe9 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
2e66f53a4b 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
490f2bae16 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
0f39b4c53c 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
600276bd56 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
89a86249f5 Merge pull request #6694 from jaswilli/bind
Remove Function.bind polyfill
2016-04-10 00:53:19 -05:00
Jason Williams
63ba8a1031 Remove Function.bind polyfill
- Not used anymore, and phantomjs 2 has a native .bind
2016-04-09 13:06:54 -05:00
Kevin Ansfield
0c136a5a23 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
Kevin Ansfield
ea612d7293 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
62c5b97c99 Merge pull request #6564 from szelpe/publishedDate
Fixed bugs regarding the published date input field validation.
2016-04-06 11:58:00 +01:00
Kevin Ansfield
bb484bc7a4 Merge pull request #6668 from acburdine/app-logo-fix
Replace hardcoded AWS image url with static image url
2016-04-06 11:26:03 +01:00
Kevin Ansfield
62553cdf92 Replace jQuery-based uploader.js with ember components
no issue
- adds `gh-image-uploader` that handles image uploads in a fully ember fashion and with no dependency on `uploader.js`
- adds `gh-image-uploader-with-preview` that can fully replace the old `gh-uploader`
- replace uses of `gh-uploader` in PSM & TSM with `gh-image-uploader-with-preview`
- updates the editor preview image handling to use the new `gh-image-uploader-with-preview` component
- updates the image upload modal to use `gh-image-uploader` (utilises the `saveButton=false` flag which means the preview has to be handled externally to avoid auto-replacement when typing a URL)
- removes all old `uploader.js` related code
- adds custom `RequestEntityTooLargeError` and `UnsupportedMediaTypeError` errors to our `ajax` service
2016-04-05 12:03:20 +01:00
Kevin Ansfield
0e603eb3d3 Don't swallow error details in ajax service
no issue
- keep the original `ember-ajax` behaviour rather than returning `false` when we hit an ajax error - we should only be using `normalizeErrorResponse` to normalize our error responses 😉
- ensures our application code has access to the returned status code for ajax errors
2016-04-04 14:19:05 +01:00
Austin Burdine
8280a6af99 replace hardcoded AWS image url with static image url 2016-03-31 12:09:54 -05:00
Kevin Ansfield
ed1d6c98b3 Drop XRegExp dependency
closes #6102
- removes the `xregexp` dependency
- pulls in the non-alphnumeric unicode list directly from the XRegExp library to ensure the word count helper still takes into account unicode strings

The XRegExp dependency was breaking as new browsers add more es6 support as evidenced in #6102. Upgrading to version 3.1.0 fixed the Chrome "experimental JS" issue but was still broken in Safari Technology Preview.

We only use one feature of `XRegExp` in a single place for a relatively non-critical feature: calculating the word count. As such I figured it may be better to drop the 63KB minified dependency and simply copy the result of the compiled regex directly until such time as XRegExp has native support in our supported browsers.
2016-03-30 19:45:20 +01:00
Jason Williams
cf349b3be9 Return http status 204 on deletes
Closes #2871
- Refactor api http handlers.
- Update tests.
- Remove special handling of responses in ember adapter.
2016-03-22 11:42:48 -05:00
Kevin Ansfield
aa4c72901c Merge pull request #6611 from dbalders/ember-navitems
Remove Nav Item Placeholder and Set as Base Url Value
2016-03-22 16:18:28 +01:00
David Balderston
f208892d87 Remove Nav Item Placeholder and Set as Base Url Value
Closes #6440

* Removed the `.fake-placeholder`class from the input, test, and css
* On adding a nav item, if the url value has not been set by the user,
then set it to the base url as shown in the input
* If url has been set by the user, just do what it has always done
2016-03-22 07:11:20 -07:00
king6cong
4296110cde fix invalid preview url 2016-03-22 20:42:46 +08:00
Kevin Ansfield
9755c87048 deps: ember-data@2.4.2
no issue
- https://github.com/emberjs/data/releases/tag/v2.4.1
- https://github.com/emberjs/data/releases/tag/v2.4.2
- uses the new public import path for `EmbeddedRecordsMixin` (http://emberjs.com/blog/2016/03/13/ember-data-2-4-released.html#toc_importing-modules - note that the module naming there isn't quite right)
2016-03-21 16:37:42 +00:00
Peter Szel
af43bb9267 Fixed bugs regarding the published date input field validation.
refs #5777

- removing error message from the previous validation
- only checking if date is in the past if the input date is valid to begin with
- always updating the view, even if the date hasn't changed to make sure the date format stays consistent
2016-02-28 01:33:24 +00:00
Peter Szel
22e0451af8 Fixed skiplink positioning
refs #5986

- removed static position of the skiplink to prevent pushing the page content down
- only applying :focus CSS selector to focusable sr-only content
2016-02-27 15:37:15 +00:00
Kevin Ansfield
c82df0c881 Merge pull request #6561 from acburdine/test-fixes
Ember client test fixes
2016-02-24 09:36:24 +00:00
Kevin Ansfield
ea3bed5911 Merge pull request #6548 from ErisDS/config-api
Restructure Configuration API endpoint
2016-02-24 09:34:51 +00:00
Austin Burdine
15c8c7af9f various test 🐛 fixes
refs #6550
- cleanup deprecation messages
- fix get `undefined` error in tests
2016-02-23 23:27:57 -06:00
Kevin Ansfield
8813f0dac4 Refactor the feature service
no issue
- removes the unneeded manual caching of the settings object
- fixes multiple API requests to fetch settings when using the feature service
2016-02-23 15:22:32 +00:00
Hannah Wolfe
c331e06975 Restructure Configuration API endpoint
refs #6421, #6525

- The configuration API endpoint was a bit of an animal:
   - It's used currently in two ways, once for general config, another for the about page.
   - These two things are different, and would require different permissions in future.
   - There was also both a browse and a read version, even though only browse was used.
   - The response from the browse was being artificially turned into many objects, when its really just one with multiple keys
- The new version treats each type of config as a different single object with several keys
- The new version therefore only has a 'read' request
- A basic read request with no key will return basic config that any client would need
- A read request with the about key returns the about config
- A read request with a different key could therefore return some other config
2016-02-19 18:49:23 +00:00
Austin Burdine
c2ca564f46 Merge pull request #6546 from quangtt/preview-icon
Fix preview icon position in editor
2016-02-19 11:35:05 -06:00
quangtt
1ef8ce9225 Fix preview icon position in editor (updated) 2016-02-19 21:55:04 +07:00
Kevin Ansfield
c53fc00a53 Merge pull request #6518 from acburdine/ember-cli-take-2
Update ember-cli to 2.3.0
2016-02-19 11:56:47 +00:00
Kevin Ansfield
c7a135dda2 Fix new post->tags transition
refs #6483, closes #6541
- removes unloading of all tags when entering the tags screen. Tags list will now function similarly to the content list where already-loaded tags are visible immediately.

Fixes #6483 because it prevents selectize's data being changed out from underneath it before it's destroyed.
2016-02-18 18:01:08 +00:00
Kevin Ansfield
64db2e633e Revert "pass post tags as array to ember-cli-selectize"
This reverts commit 4a17669b04135e24679a72c521ce9bf75ae86ea0.
2016-02-18 17:57:18 +00:00
Kevin Ansfield
0eb8f4be59 Merge pull request #6520 from acburdine/issue-6515
Fix logging out from editor page
2016-02-18 12:36:59 +00:00
Kevin Ansfield
b7e21cb10e Merge pull request #6513 from acburdine/issue-6512
Fix underscore usage in post serializer
2016-02-18 09:30:44 +00:00
Kevin Ansfield
89196e68d3 Merge pull request #6533 from acburdine/issue-6483
Pass post tags as array to ember-cli-selectize
2016-02-18 09:08:09 +00:00
Austin Burdine
7a143a4970 pass post tags as array to ember-cli-selectize
closes #6483
- fix new post => settings/tags transition error
2016-02-17 22:24:16 -06:00
Austin Burdine
1d7f3f4548 inject ajax service in settings/labs
closes #6530
- turns out one must inject a service in order to use it
2016-02-17 14:50:40 -06:00
Austin Burdine
ccfbf65f7b fix logging out from editor page
closes #6514
- removes transition.abort from the signout method because it can override the ember-simple-auth's page refresh
2016-02-16 20:07:03 -06:00
Austin Burdine
cec22372a9 deps: ember-cli@2.3.0 2016-02-16 12:32:48 -06:00
Austin Burdine
8fbaddeda0 fix underscore usage in post serializer
closes #6512
- because of the keyForAttribute method in the application serializer, the hash property must be snake_case
- change the normalize method to the more concise normalizeHash method available on the rest serializer
2016-02-16 09:37:15 -06:00
Kevin Ansfield
31b87cb8c4 Merge pull request #6387 from novaugust/post-deletion
Fix post deletion scroll on content and tag screens
2016-02-15 11:02:42 +00:00
Kevin Ansfield
507adb7fc1 Merge pull request #6506 from acburdine/posts-error-fix
Improve 404 error handling in post route
2016-02-15 09:56:34 +00:00
Austin Burdine
215b2f16c7 remove unused modal outlet 2016-02-14 18:55:59 -06:00
Austin Burdine
3fde131f7d improve 404 error handling in post route
closes #6503
- change post route 404 handling to match that of the editor and tag routes
- fix 404 tests
2016-02-14 16:49:57 -06:00
Hannah Wolfe
237a10cd1f Merge pull request #6468 from kevinansfield/ember-sortable-nav-items
Replace jquery-ui.sortable with ember-sortable for nav items
2016-02-14 13:44:07 +00:00
Austin Burdine
dff72bf430 Add settings/general acceptance test
refs #6039
- adds acceptance tests for settings/general flows
- fixes up mirage settings fixtures
2016-02-11 06:06:38 -06:00
Kevin Ansfield
91f4b84b9b Merge pull request #6207 from acburdine/feature-service
Convert feature controller to service
2016-02-10 09:36:42 +00:00
Kevin Ansfield
e0230adae6 Replace jquery-ui.sortable with ember-sortable for nav items
refs #6458, closes #6457
- replaces jquery-ui.sortable with ember-sortable for drag-n-drop handling
- moves the "new/blank" nav item out of the nav items list
  - allows it to be excluded from the draggable list
  - cleans up handling of the `navigationItems` array as there's no longer a need to ignore/exclude this extra item
- clears validation errors when typing in the respective field
- adds acceptance test for adding/removing nav items
- improves acceptance test for saving nav items to cover more edge cases
2016-02-09 22:08:21 +00:00
Austin Burdine
ca707aa45f cleanup feature service error handling 2016-02-09 13:39:15 -06:00
Matt Enlow
20cbc6c606 Load more posts after post deletion
Closes #6390
- check if more posts should be loaded whenever one is deleted
- delete dead code from posts controller
- delete duplicate component gh-infinite-scroll-box
- simplify posts-list-item `posts.post` or `editor.edit` link logic by modifying `gh-content-view-container` to yield necessary vars directly and use inline ifs in template
- add `gh-tag` component for rendering tags and updating infinite scroll box on `settings/tags` page
2016-02-09 09:08:31 -07:00
Kevin Ansfield
648d0043e2 Continuation of #6207 (convert feature controller to service)
refs #6207, #6207
- updates tests for new async behaviour
- fixes tests failing on validation errors
- fixes `feature.labs` not updating after successful save
2016-02-09 08:37:44 -06:00
Austin Burdine
1e3adef145 convert feature controller to service
closes #6170
- add gh-feature-flag component to create a checkbox (reduce duplicate code)
2016-02-09 08:37:44 -06:00
Hannah Wolfe
af3bc288dc Change URL for download count service
no issue

- we're moving the internal endpoint for fetching counts to count.ghost.org
2016-02-09 10:20:24 +00:00
Kevin Ansfield
385036dc48 validate nav items when clicking the + button, ignoring last item if blank 2016-02-08 14:20:57 +00:00
Hannah Wolfe
308bf1731f Merge pull request #6445 from kevinansfield/fix-input-cursor
Return cursor pointer to text inputs
2016-02-08 10:07:29 +00:00
Kevin Ansfield
dbd3177e39 Return cursor pointer to text inputs
refs #6412
- moves `cursor: pointer` style introduced in #6412 into more specific classes that only target select boxes rather than all inputs
2016-02-05 17:01:53 +00:00
Kevin Ansfield
cbd9ec358c Fix mixed content security warnings due to gravatar images
no issue
- switches gravatar URL generation to use protocol-relative URLs in `gh-profile-image` component
2016-02-05 16:48:15 +00:00
Kevin Ansfield
e2f249e534 Merge pull request #6430 from halfdan/6428-add-trailing
Add trailing slashes on relative URL unless [.?#]
2016-02-03 17:36:34 +00:00
Kevin Ansfield
323c9b82e0 Merge pull request #6392 from kevinkucharczyk/post-invalid-id-404
Fix posts.post route not redirecting to 404
2016-02-03 17:04:48 +00:00
Kevin Ansfield
d9e846ae8d Merge pull request #6373 from kevinkucharczyk/standardise-camelcase
Standardise client property names to camelCase
2016-02-03 16:41:23 +00:00
Fabian Becker
da5f6b1f1f Add trailing slashes on relative URL unless [.?#]
closes #6428
2016-02-03 17:11:44 +01:00
Kevin Ansfield
10b8ea48bd Fix stretched team image on setup/three
closes #6380
- wraps `<img>` element with a `<div>` to workaround buggy browser behaviour (https://github.com/philipwalton/flexbugs/issues/14)
- adds explicit `width: 100%` to `img` element to fix Firefox not scaling down to mobile sizes
2016-02-02 15:08:28 +00:00
Hannah Wolfe
5b4c8cc20e Merge pull request #6426 from kevinansfield/fix-forgot-password-regression
Acceptance tests for password reset flow on signin screen
2016-02-02 13:58:59 +00:00
Kevin Ansfield
2daff7423a Acceptance tests for password reset flow on signin screen
refs #6039
- adds `/authentication/passwordreset` endpoint to mirage config
- tests the "Forgot?" link behaviour on the signin form

NB: This will fail until #6425 is merged as this tests the correct behaviour rather than the currently broken behaviour ;-)
2016-02-02 12:22:41 +00:00
Fabian Becker
f7538ce511 Correctly use POST request to reset password
closes #6423
2016-02-02 12:58:39 +01:00
James Seymour-Lock
633f224ab5 UI/CSS Improvements
Remove shadow on last tag item hover, was an inconsistent style addition thats not used elsewhere such as the content list
- Remove box-shadow on last of type settings tag hover state
- http://g.recordit.co/CEglFT7Hlr.gif

Remove * selector and specify user-select on individual classes for performance.
- remove * selector
- update classes that benefit from user-select none

Having different visuals based around if a radio/checkbox uses a label or not is weird and style changes should use a class modifier.
- Merged the two together as I was unable to find an example checkbox/radio in use that did not use the label tag

Improved UI for radio/checkboxes
- Added cursor pointer to radio/checkboxes
- Added hover state to radio/checkboxes

Add cursor to select boxes for usability
- cursor: pointer; added to select boxes

Add hover state to post edit icon
- add dark grey hover state to post edit icon

Add visual hover to nav user menu dropdown
- Move dropdown icon to visually indicate hover
2016-01-28 08:35:43 -05:00
Kevin P. Kucharczyk
bddc73031e Fix missing tags list link on mobile
closes #6397
- don't pass isMobile to gh-tag-settings-form
- add gh-tag-settings-form test for mobile settings.tags link
2016-01-26 18:42:13 +01:00
Kevin P. Kucharczyk
20adbcde87 Fix posts.post route not redirecting to 404
closes #6385
- redirect to 404 when post is not found
- replace replaceRoute calls with replaceWith calls in routes (replaceRoute is only available on controllers)
- add post mirage factory
- add acceptance test for post 404 redirection
2016-01-26 15:25:53 +01:00
Hannah Wolfe
cf8abcb6be Merge pull request #6299 from acburdine/config-refactor
Refactor Config Service
2016-01-25 13:22:20 +00:00
Kevin Ansfield
0277d6aa8d Merge pull request #6372 from jamesslock/copyright-update
Always show current year in copyright text on "About" page
2016-01-25 13:07:43 +00:00
Hannah Wolfe
972e0852d8 Merge pull request #6379 from kevinansfield/fix-jquery-ajax-401
Fix 401 error when uploading images
2016-01-25 12:39:30 +00:00
Kevin Ansfield
d14efb77f6 Merge pull request #6365 from acburdine/remove-on
remove more usage of Ember.on
2016-01-25 11:42:32 +00:00
James Seymour-Lock
43a7649d44 Always show current year in copyright text on "About" page
no issue
- add `copyrightYear` CP to about page controller
- displays the current year in the copyright notice
2016-01-25 11:33:10 +00:00
Kevin Ansfield
a4027d49cf Fix 401 error when uploading images
closes #6377
- restores ajax prefilter initializer that was removed in #6243
- adds regression test for standard `$.ajax` requests sending Authorization header

This can be removed once we no longer have jquery plugins that make internal ajax calls that don't go through ember-ajax.
2016-01-25 11:11:29 +00:00
Kevin P. Kucharczyk
c4371a36f2 Standardise client property names to camelCase
closes #6018
- added keyForAttribute method in application serializer
- override keyForAttribute in settings serializer to not apply camelCase/underscore conversion
- rename under_scored properties to camelCased
2016-01-23 19:12:22 +01:00
John O'Nolan
15144dd551 Update copyright year
To appease James Seymour-Lock
2016-01-23 17:28:17 +02:00
Hannah Wolfe
3e61d07ac1 Merge pull request #6341 from kevinansfield/fix-mixed-content-on-team-page
Move user/cover image files used in admin team area into the client folder
2016-01-21 09:46:00 +00:00
Austin Burdine
bc73fb0650 remove more usage of Ember.on 2016-01-19 10:00:44 -06:00
Austin Burdine
b726676983 refactor admin config to include explicit value types
closes #6266
- add "type" to valid keys in configuration api
- refactor ember config service to parse values based on provided type
2016-01-19 09:43:09 -06:00
Kevin Ansfield
d52989c982 deps: ember-data@2.3.2
no issue
- updates ember-data dependency and switches to direct es6 module import instead of destructuring assignment
- fixes issue with `authenticationFailed` action being called before transitions have finished
2016-01-19 14:36:39 +00:00
Austin Burdine
3154dfe988 cleanup usage of Ember.inject 2016-01-19 07:03:27 -06:00
Austin Burdine
8ff1a6954c deps: ember-ajax@0.7.1 2016-01-18 09:37:14 -06:00
Kevin P. Kucharczyk
4e9b815ba2 Clear images in gh-uploader when navigating between items
closes #6198
- clear img src in gh-uploader when navigating to item with image
- always reset uploader component when new image is not empty
2016-01-16 21:54:02 +01:00
Kevin Ansfield
a5de701058 Merge pull request #6348 from zinyando/adapter-fix
Make sure super in buildURL passes all arguments
2016-01-16 18:40:41 +00:00
zinyando
f225d4ab84 Make sure super in buildURL passes all arguments 2016-01-15 19:13:36 +02:00
Austin Burdine
17e4537a30 refactor slug-generator object into a service
refs #6243
2016-01-15 09:43:17 -06:00
Kevin Ansfield
7568273957 Move user/cover image files used in admin team area into the client folder
no issue
- fixes potential "mixed content" warnings if non-admin urls are redirected
2016-01-14 16:26:48 +00:00
Kevin Ansfield
5ddce6cd0c Merge pull request #6331 from novaugust/draft_preview_notification
Add Preview link to draft saved notification
2016-01-13 14:27:52 +00:00
Matt Enlow
e210e4de2a Add Preview link to draft saved notification
Closes #6330
- also change notifications to open with `target=_blank`
2016-01-13 06:44:51 -07:00
Kevin Ansfield
0cbd7d5c68 Isolate all markdown editor behaviour into gh-editor component
no issue
- move all existing markdown editor behaviour out of the editor controller and isolate it into a single component that can be swapped out
- split the `register/remove` functions of the `shortcuts-route` out into a separate `shortcuts` mixin
2016-01-13 12:01:31 +00:00
Kevin Ansfield
9b522457ef Merge pull request #6327 from halfdan/6326-lskey
Set localStorage key based on subdir
2016-01-12 21:22:20 +00:00
Hannah Wolfe
5b05ff9836 Merge pull request #6088 from kevinansfield/liquid-tether-modals
Modals refactor
2016-01-12 21:11:38 +00:00
Kevin Ansfield
9d67980a7e Refactor modals
refs #5798, closes #5018
- adds new `gh-fullscreen-modal` component - modals are now specified in-context so that they can have deeper interaction with their surrounding components/controller/route, i.e. a modal component can be a thin confirm/deny wrapper over the underlying controller action keeping all context-sensitive logic in one place
- adds spin-buttons to all modals with async behaviour
- adds/improves behaviour of inline-validation in modals
- improves re-authenticate modal to properly handle validation and authentication errors
2016-01-12 20:53:08 +00:00
Kevin Ansfield
b0e357138b Remove use of Ember.on
no issue
- removes the few uses of `Ember.on` for lifecycle hooks or event hooks where order may be important

`Ember.on` use is discouraged so although we haven't used it often I felt like we should ensure we're consistent throughout the codebase. There's a great article with details of why it's discouraged here: http://notmessenger.com/proper-use-of-ember-on/
2016-01-12 20:48:15 +00:00
Fabian Becker
11290de91c Set localStorage key based on subdir
closes #6326
2016-01-12 17:12:59 +01:00
Kevin Ansfield
29652eb6a4 Merge pull request #6321 from AileenCGN/test
Minor usability improvements for editor screen #6318
2016-01-12 09:49:08 +00:00
Hannah Wolfe
8f7bb4c8b2 Merge pull request #6317 from kevinansfield/quick-fix-unnecessary-leave-editor-modal
Quick-fix for unnecessary "discard changes" modals
2016-01-12 09:39:59 +00:00
AileenCGN
9b6d1c7a36 Minor usability improvements for editor screen
closes #6318
2016-01-11 20:34:04 +02:00
Hannah Wolfe
66163356a2 Merge pull request #6307 from kevinansfield/fix-step3-endless-spinner
Redirect after setup step 3 even if invite requests time out
2016-01-11 18:10:27 +00:00
Kevin Ansfield
cd9595b3aa Quick-fix for unnecessary "discard changes" modals
closes #6315
- don't set the `slug` attribute if we get an empty string back from the slug generator to prevent dirty attributes being triggered for `null` getting changed to `''`
2016-01-11 15:58:07 +00:00
Hannah Wolfe
3a68b02278 Merge pull request #6300 from kevinansfield/fix-missing-tags-bug
Fix disappearing tags when tag input's selection is swapped out
2016-01-09 16:32:59 +00:00
Hannah Wolfe
c2485b13a9 Merge pull request #6291 from kevinansfield/fix-private-safari-login
Use AdaptiveStore for cookie fallback if local storage is unavailable
2016-01-09 13:00:19 +00:00
Hannah Wolfe
7348b92e67 Merge pull request #6286 from kevinansfield/fix-slow-post-navigation
Fix posts navigation slowdown when lots of posts are loaded
2016-01-09 12:42:21 +00:00
Hannah Wolfe
9298cb5772 Merge pull request #6285 from kevinansfield/fix-unresponsive-search
Fix unresponsive search
2016-01-08 17:21:59 +00:00
Kevin Ansfield
b65efac3c5 Transition after setup step 3 submission even if invite takes a long time
refs #5779
- adds a timeout of 4 seconds to step 3 submission so that we transition even if we haven't heard back from the server yet. Notification alerts will be displayed asynchronously once all server requests have returned.
- adds a message to check e-mail configuration to step 3 invitation failure alert
2016-01-08 17:06:41 +00:00
Hannah Wolfe
bf686b6b43 Merge pull request #6254 from kevinansfield/fix-profile-image
Fix teardown of gh-profile-image when fileStorage=false
2016-01-08 15:54:25 +00:00
Kevin Ansfield
edf685d7d3 Fix disappearing tags when input's selection is swapped out
closes #6257
- update the `_onChange` event handler in `gh-selectize` component so that the re-ordering process isn't hit when the underlying objects have changed
2016-01-06 12:21:39 +00:00
Kevin Ansfield
63a525f4ad Use AdaptiveStore for cookie fallback if local storage is unavailable
closes #5829
- switch application session store to inherit from ESA's `AdaptiveStore` instead of `LocalStorageStore`
2016-01-05 13:16:41 +00:00
Kevin Ansfield
ea3bf21a84 Fix posts navigation slowdown when lots of posts are loaded
refs #6274
- adds `active-link-wrapper` mixin that tracks the `active` state of child links and adds/removes a `.active` class on the mixed-in element
- removes the passed-in `active` attribute on `gh-posts-list-item` component that forced every item in the content list to be re-rendered each time the currently selected post changed
2016-01-04 16:55:36 +00:00
Kevin Ansfield
677a2bfb8a Fix unresponsive search
closes #6274
- any time the search content is refreshed, start with a clean array instead of performing expensive object comparisons to remove existing content
2016-01-04 12:04:57 +00:00
Austin Burdine
58e32f6774 fix autoscoping of _this in settings/navigation
closes #6267
- adds a hardcoded this because babel's autoscoping isn't triggered by default
2015-12-27 17:25:36 -07:00
Kevin Ansfield
71e36c9f6c Fix teardown of gh-profile-image when fileStorage=false
closes #6253
- don't expect the file input to be present in `willDestroyElement`
2015-12-21 11:08:49 +00:00
Austin Burdine
cff44366a8 fix authentication error if setup/two is re-submitted
closes #6226
- adds calls to oauth middleware on PUT /authentication/setup/
- prevent setup/two from trying to log in again if user is already logged in
2015-12-18 12:18:13 -07:00
Kevin P. Kucharczyk
89b872ab1a Fix duplicate URL input field in image uploader
closes #6224
- Add .js-button-accept to removeExtras call
- Check for .js-url container existence before prepending it
- Remove redundant .init() call
2015-12-16 21:36:49 +01:00
Kevin Ansfield
b006eda9f0 Fix password reset
closes #6229
- removes `_super` call in the reset route's `setupController` hook to avoid a `model` property being set which was being picked up by the validation engine
- throw the error if we fail in the password reset process from something we aren't expecting
2015-12-15 21:51:36 +00:00
Kevin Ansfield
513ed0834b Merge pull request #6204 from kevinkucharczyk/unable-to-remove-small-background-image
Fix hidden delete button in image uploader for short images
2015-12-15 13:54:32 +00:00
Kevin Ansfield
ed62566946 Merge pull request #6160 from garyc40/bug-checkbox-labels
Checkbox labels are cut off on mobile.
2015-12-15 13:09:14 +00:00
Kevin Ansfield
c505262630 Remove setScrollClassName mixin and usage
no issue
- removes `setScrollClassName` mixin that was previously used to add a `.scrolling` class to scrollable elements that showed a shadow at the top of boxes when not scrolled to the top
2015-12-15 12:00:57 +00:00
Hannah Wolfe
e6f3c2442e Merge pull request #6200 from kevinansfield/reset-tags-scope-on-deactivate
Reset shortcuts scope when leaving tags route
2015-12-10 18:41:23 +00:00
Kevin P. Kucharczyk
71a92f6b75 Fix hidden delete button in image uploader for short images
closes #6194
- removed min-height animation from image uploader
2015-12-10 18:45:46 +01:00
Hannah Wolfe
54cfe71b79 Merge pull request #6184 from kevinansfield/fix-date-input
Fix changing text and jumping caret in PSM's date input
2015-12-10 16:29:36 +00:00
Hannah Wolfe
4819b8ae0b Merge pull request #6181 from kevinansfield/fix-404-handler
Prevent 404-handler mixin from erroring on non-adapter errors
2015-12-10 16:26:07 +00:00
Kevin Ansfield
e78b3730b2 Reset shortcuts scope when leaving tags route
refs #6191, #6192
- adds additional safeguard to tags route to ensure keymaster scope doesn't get stuck in a non-default scope that may break shortcuts elsewhere
2015-12-10 12:27:48 +00:00
Hannah Wolfe
3c25d768d8 Merge pull request #6153 from kevinansfield/fix-subdir-nav-issues
Fix sub-dir being added to navigation urls when installed in sub-dir
2015-12-09 21:27:43 +00:00
Kevin Ansfield
6bb32c2fe7 Fix changing text and jumping caret in PSM's date input
refs #5777
- adds new `gh-datetime-input` that takes a one-way-bound value and formats it, only triggering the supplied `update` action on focus-out
- fixes bug in PSM's `setPublishedAt` action if model's `published_at` is a Date object not a Moment object
2015-12-08 10:13:17 +00:00
Kevin Ansfield
9baa34500b Prevent 404-handler mixin from erroring on non-adapter errors
no issue
- add a check for existence of `error.errors` as that won't be present on non-404 errors - fixes non-404 errors such as "no action handled x" being hidden by a completely different error
2015-12-07 18:37:35 +00:00
Kevin Ansfield
f02fce75c3 Merge pull request #6178 from syaiful6/select-native
Fix Select Component
2015-12-07 10:40:40 +00:00
Syaiful Bahri
878e7b5678 Fix Select Component
jQuery instance isn't iterable, so we cant destructuring it.

closes https://github.com/TryGhost/Ghost/issues/6171
2015-12-07 16:44:54 +07:00
Austin Burdine
fc31ad69d2 add team acceptance test 2015-12-06 15:24:06 -06:00
Kevin Ansfield
d2ada96e4e Merge pull request #6098 from acburdine/tag-404
Fix 404 error handling in editor, tags, and team routes
2015-12-04 10:20:22 +00:00
Austin Burdine
9d333533ac fix 404 error handling in editor, tags, and team routes
closes #6094
- adds 404-handler mixin
- applies mixin to settings/tags/tag, editor/edit and team/user routes
- adds adapter-error test helper to override the default adapter error
2015-12-03 16:37:23 -06:00
Hannah Wolfe
52986b5033 Merge pull request #6122 from kevinansfield/slug-query-with-include
Add count.posts support to user model on client
2015-12-03 14:48:21 +00:00
Gary Cao
468a2d87ed Checkbox labels are cut off on mobile.
closes #6089
2015-12-02 18:28:50 +09:00
Kevin Ansfield
300f7d0226 Remove $ from jshint's predef, always use Ember's $
no issue
- fixes problems with "re-definition of $" errors
2015-12-01 20:52:25 +00:00
Kevin Ansfield
ca3b612779 Fix sub-dir being added to navigation urls when installed in sub-dir
refs #4989
- fix handling of urls relative to base domain when ghost is installed in a sub folder

Fixes an issue when ghost was installed to a sub-dir, e.g. `example.com/blog` and an attempt to link to `example.com/` or `example.com/something-else` would always be re-written to `example.com/blog/` or `example.com/blog/something-else`.
2015-12-01 15:23:21 +00:00
Kevin Ansfield
76e2fe229a Merge pull request #6147 from garyc40/bug-uploader-bind
Properly binds "this" in uploader.js
2015-12-01 13:08:00 +00:00
Gary Cao
302fa98361 Properly binds "this" in uploader.js
closes #6146
2015-12-01 12:50:31 +09:00
Austin Burdine
46786e7065 deps: ember/ember-data@2.2.0 2015-11-30 12:23:47 -06:00
Kevin Ansfield
e01ffa3620 Always call _super when using Ember hooks
no issue
- review use of Ember core hooks and add a call to `this._super` if missing
- fix a few occurrences of using the wrong component lifecycle hooks that could result in multiple/duplicate event handlers being attached

`_super` should always be called when overriding Ember's base hooks so that core functionality or app functionality added through extensions, mixins or addons is not lost. This is important as it guards against issues arising from later refactorings or core changes.

As example of lost functionality, there were a number of routes that extended from `AuthenticatedRoute` but then overrode the `beforeModel` hook without calling `_super` which meant that the route was no longer treated as authenticated.
2015-11-30 12:45:37 +00:00
Kevin Ansfield
2f4f6db133 Use es6 across client and add ember-suave to enforce rules
no issue
- add ember-suave dependency
- upgrade grunt-jscs dependency
- add a new .jscsrc for the client's tests directory that extends from client's base .jscsrc
- separate client tests in Gruntfile jscs task so they pick up the test's .jscsrc
- standardize es6 usage across client
2015-11-30 10:41:01 +00:00
Kevin Ansfield
71e956a9eb Merge pull request #6108 from mixonic/no-rerender-selectors
Unify mobile state in JS, drop resize
2015-11-30 08:45:03 +00:00
Hannah Wolfe
1f13fb4c65 Merge pull request #6129 from kevinansfield/invalid-origin-errors
Display error message on setup if origin doesn't match config.js url
2015-11-27 00:25:57 +08:00
Kevin Ansfield
6c3336976e Display error message on setup if origin doesn't match config.js url
refs #6106
- add error handler for authentication step of blog setup
- move setup acceptance test out of 'settings' folder
2015-11-26 11:22:16 +00:00
Kevin Ansfield
e0c368bd90 Fix missing error on signin when server has gone away
no issue
- `session.authenticate` calls out to jQuery for the ajax request which then raises it's own error but returns nothing when the server is not reachable. This is a quick fix so that we don't error and can pass through to the default error handler in the authentication step.
2015-11-26 11:15:17 +00:00
Matthew Beale
e79b07fd31 Unify mobile state in JS, drop resize
In `gh-content-view-container` the visibility of another DOM node was
being used to detect if a given view was mobile or not. This means the
UI needed to have layout forced (and DOM rendered) before the content
view container would render a second time. This is slow interaction with
the DOM (forcing layout) and slow for Ember's renderer (it needs to
render the container once with a default, then again when the value
changes).

Additionally there were two ways resize was being observed. The
`Window.matchMedia` API was used for some styles and the `ember-resize`
addon used to detect other changes. Here I've unified around just the
`Window.matcheMedia` API but abstracted it behind a service.

Sizes are exposed as properties that can be bound to or used directly in
templates.
2015-11-25 11:54:08 -05:00
Kevin Ansfield
259559e6b2 Add count.posts support to user model on client
no issue
- moves adapter tests from unit to integration as we are not testing them in isolation
- add test for querying user's by slug with `include=count.posts`
- add `count` attribute to User model
2015-11-24 17:11:35 +00:00
Kevin Ansfield
c151be05de Update client for tag.post_count -> tag.count.posts rename
refs #6105
- adds `raw` ember-data transform to handle standard JSON `count` attribute
- update mirage factory to return correct `count.posts` format
- rename all uses of `post_count` to `count.posts`
2015-11-23 19:57:56 +00:00
Kevin Ansfield
933d6cd677 Merge pull request #6099 from acburdine/user-adapter
Implement custom user adapter to pull users by slug
2015-11-23 14:52:01 +00:00
Austin Burdine
31e4c9f753 implement custom user adapter to pull users by slug
closes #6095
- implements custom user adapter for the `/team/:slug/` route
- abstracts slug-url behavior into a mixin (used in /settings/tags/ as well)
- adds unit tests for both tag and user adapters
2015-11-23 07:48:08 -06:00
Matthew Beale
3e881027cc Use private properties for unobserved render state
* Drop set for local private editor property
* Only run preview setup on didInsertElement
* Drop set for local scrollWrapper prop
* Selectize setup on afterRender instead of next
* Use local props for editor save timers
2015-11-21 09:25:21 -05:00
Matthew Beale
6aa171077e Properly use htmlSafe styles 2015-11-20 17:48:48 -05:00
Hannah Wolfe
43bb09ef23 Fix & futureproof author filter
refs #5943
2015-11-20 10:13:30 +00:00
Hannah Wolfe
f285f8f948 Update author query to use filter
refs #5943
2015-11-19 21:53:24 +00:00
Sebastian Gierlinger
02429072ce Merge pull request #6049 from ErisDS/labs-text
Update public API labs flag text
2015-11-18 09:05:29 +01:00
Hannah Wolfe
3031a17728 Update public API labs flag text 2015-11-17 21:28:16 +00:00
Kevin Ansfield
675a1221fa Add acceptance test for setup flow happy-path
refs #6039
- add `jquery-deparam` ember testing dependency for use in mirage config
- setup necessary mirage fixtures & endpoints for successful testing of setup flow's happy-path
- add happy-path acceptance test for setup flow
2015-11-15 11:51:19 +00:00
Kevin Ansfield
074346f6ce Fix auth regressions after ESA 1.0 upgrade
refs #6039, closes #6047, closes #6048

- delete old/unused fixtures file
- add failing tests for #6047 & #6048
- redirect to sign-in if we get a 401 when making an API request
- fix incorrect `this.notifications` call in tag controller
- raise `authorizationFailed` action in application route's `sessionInvalidated` hook so that it can be handled by leaf routes (fixes re-auth modal display)
- close "saving failed" alert when successfully re-authenticated
- adds a "window-proxy" util so that we can override `window.*` operations in tests
- fix `gh-selectize` attempting to register event handlers when the component has already been destroyed
2015-11-12 12:56:27 +00:00
Kevin Ansfield
eedcdf2f17 Set up ember-cli-mirage and update existing acceptance tests
refs #6039
- adds ember-cli-mirage dependency
- sets up mirage to match our API endpoints and responses
- adds fixture data for settings that are always present for all blogs
- converts existing acceptance tests to use mirage
2015-11-03 15:35:58 +00:00
Hannah Wolfe
a8c539f30b Merge pull request #6017 from kevinansfield/finalize-debounced-gravatar
Finish changes in #5807 (debounced gravatar load in gh-profile-image)
2015-11-02 18:14:53 +00:00
Hannah Wolfe
f3f4488c23 Merge pull request #5984 from sebgie/issue#5941
Move Public API behind labs flag
2015-11-02 16:15:50 +00:00
Hannah Wolfe
765c884ba8 Merge pull request #6010 from kevinansfield/drag-drop-tags
Drag-n-drop re-ordering of tags in post settings menu
2015-11-02 16:15:33 +00:00
Kevin Ansfield
ffd282f28b Add tags to auto-complete search
refs #5845
- display matched tags in auto-complete dropdown, load tag edit screen when selected
- fix bug where only 1 search item with the same ID would be displayed (eg. if a post and tag both had an ID of 1 it would only show the first-loaded item)
2015-11-02 15:34:13 +00:00
Kevin Ansfield
aa02c85756 Use tag slugs in URLs for tag management and add front-end edit redirect
refs #5845
- adds custom adapter for tags so that `store.queryRecord('tag', {slug: 'tag-slug'})` hits the `/tags/slug/tag-slug` endpoint instead of `/tags/?slug=tag-slug`
- updates tag management screens to use tag slugs instead of IDs
- adds `/tag/:slug/edit` redirect to front-end
2015-11-02 14:56:59 +00:00
Sebastian Gierlinger
618d36c394 Move Public API behind labs flag
closes #5941
- added UI to labs page
- added method to determine if full authentication is required
- updated public_api tests to enable public api first
2015-11-02 14:18:58 +01:00
Kevin Ansfield
706b9ac669 Mobile fixes for tag management UI
refs #5845, #5969
- when on mobile devices tag management UI will only display a list and when a tag is accessed the tag settings form will slide in from the right
- tag settings form header has a 'back' button when on mobile to go back to tags list
- switching from mobile to standard modes will auto load the first tag as per standard tags screen on desktop
- if no tags are present then the blank-slate template will be shown when on mobile
2015-11-02 13:18:10 +00:00
Hannah Wolfe
2c7a4f9328 Merge pull request #5969 from kevinansfield/routable-tags
Routable tags
2015-11-01 15:34:33 +00:00
Kevin Ansfield
9771b51e1b Finish changes in #5807 (debounced gravatar load in gh-profile-image)
refs #5807, #5797
- add configurable debounce period
- rename `hasEmail` to `displayGravatar` to better reflect it's purpose
- add tests
2015-10-29 11:30:30 +00:00
Nazar Gargol
ae430f821a Adds debounced email validation and gravatar loading on second setup/signup screen
closes #5797
- adds debounced email validation as user types
- adds debounced gravatar loading for valid email
2015-10-28 09:40:40 +00:00
Kevin Ansfield
89b7ff3320 Routable tags
refs #5845
- Updates tag settings screen to match content screen behaviour. Each now tag has it's own route that is link-able from other areas of the app
- Updates a number of places where jQuery event handler code was not wrapped in Ember's run loop
2015-10-27 12:48:41 +00:00
Kevin Ansfield
3c888174cb Update admin area queries to use new filter parameter
refs #6005
- updates use of the query params removed in #6005 to use new `filter` param
2015-10-27 12:13:35 +00:00
Kevin Ansfield
48c0a3e097 Drag-n-drop re-ordering of tags in post settings menu
refs #5976
- adds `onChange` handler to `gh-selectize` component to update the `selection` property when selectize's value is changed (eg, by the drag_drop plugin updating the order)
- adds the `drag_drop` plugin to the list of selectize plugins used by the tags input on the post settings menu
2015-10-26 18:05:25 +00:00
Kevin Ansfield
56de42b280 Remove unused tags search CSS
no issue
- delete old/unused CSS that was used for an old tag component
2015-10-23 18:18:58 +01:00
Kevin Ansfield
0cd88bce7d Keep old shouldBackgroundReloadRecord behaviour ready for 2.0 upgrade
no issue
- adds `shouldBackgroundReloadRecord` override so that we keep the current behaviour (never background reload unless instigated manually) when we upgrade to Ember Data 2.0 which will always background-reload by default
2015-10-23 18:18:58 +01:00
Kevin Ansfield
a765518b89 Merge pull request #5967 from acburdine/issue-5933
Fix settings menu issue with devices that are less than 350px wide
2015-10-22 17:27:40 +01:00
Hannah Wolfe
87c1e51538 Merge pull request #5953 from kevinansfield/fix-invite-revoke
Fix "revoke invite" feature on /team page
2015-10-21 17:56:59 +01:00
Hannah Wolfe
0c4c4f869d Merge pull request #5952 from kevinansfield/tag-settings-ui
Minor tag settings validation updates & fixes
2015-10-21 17:40:53 +01:00
Hannah Wolfe
2f17c58836 Merge pull request #5897 from kevinansfield/fix-cover-post
Fix empty image when navigating to new editor from an editor with image
2015-10-21 17:39:18 +01:00
Austin Burdine
562c48fb4d fix session data loading in settings/labs
closes #5973
- updating session data loading to new esa 1.0 api
2015-10-20 07:50:41 -05:00
Kevin Ansfield
48d61af3a8 Fix empty image when navigating to new editor from an editor with image
closes #5840
- calls `reset()` on the uploader when re-rendered with a blank image
- calls `reset()` and `initWithImage()` on the uploader when re-rendered with an image and the uploader is still in the "blank" state
2015-10-19 11:55:31 +01:00
Kevin Ansfield
510bcd8826 Minor tag settings validation updates & fixes
refs #5845
- add tests for `tag-settings` validator
- add validation for tag slug length
- fix display of error message when saving tag fails on the server
- add max chars text to description char count, remove error message as the count/input colour already indicates an error
2015-10-19 10:45:41 +01:00
Kevin Ansfield
917f1b32f5 Merge pull request #5955 from acburdine/esa-1.0
deps: ember-simple-auth@1.0.0
2015-10-19 10:40:35 +01:00
Sebastian Gierlinger
5381cfc39a Merge pull request #5960 from JohnONolan/emailerror
Email error message cleanup
2015-10-19 10:30:30 +02:00
Austin Burdine
511d5d9b4c deps: ember-simple-auth@1.0.0
closes #5951
- update to esa 1.0
2015-10-18 13:17:02 -05:00
Austin Burdine
bb68484af4 set the settings-menu max width for mobile devices < 350px wide
fixes #5933
- sets the max-width of the settings-menu to 100%
2015-10-17 09:08:10 -05:00
John O'Nolan
640283c119 Email error message cleanup 2015-10-16 12:07:09 +02:00
John O'Nolan
cce722efa0 Fix broken active state on password reset button 2015-10-16 11:32:02 +02:00
Kevin Ansfield
7ab03298cd Fix "revoke invite" feature on /team page
refs #5947
- override the `findRecord` method of the user adapter to always include "status=all" when querying by ID
2015-10-15 12:45:48 +01:00
Hannah Wolfe
2d60ece7e7 Merge pull request #5946 from kevinansfield/fix-gh-validation-status-container
Fix gh-validation-settings-container throwing error on tag settings page
2015-10-14 17:45:35 +01:00
Hannah Wolfe
ce8440e095 Merge pull request #5928 from kevinansfield/notification-keys
Prevent duplicate alerts and clear on login
2015-10-14 17:24:17 +01:00
Kevin Ansfield
16783a1df5 Fix gh-validation-settings-container throwing error on tag settings page
no issue
- check that component's `hasValidated` property exists
- add tests for `gh-validation-settings-container`
2015-10-14 14:29:04 +01:00
Kevin Ansfield
310114715e Merge pull request #5865 from acburdine/tag-menu-charcount
Tag Settings Menu Validation
2015-10-14 11:48:30 +01:00
Kevin Ansfield
1ade395aa0 Merge pull request #5912 from HParker/form-default-class-to-none
Form default error class to none
2015-10-13 19:28:43 +01:00
Adam Hess
fde31c451a the form status now defaults to empty string
prevents unvalidated forms from showing up as success
2015-10-13 11:14:44 -06:00
Kevin Ansfield
aa774c02ab Merge pull request #5907 from lcamacho/bug-5800
Shows image on Tag settings
2015-10-13 10:25:55 +01:00
Kevin Ansfield
c5a8a0c860 Avoid duplicate alerts, clear alerts on successful retry or sign-in
closes #5903, refs #5409
- switch alert/notification component tests from unit to integration where appropriate
- rename `notifications.closeAll` to `notifications.clearAll` to better represent it's behaviour
- add concept of a "key" to alerts/notifications and ability to close only specified keys through notifications service
- close duplicate alerts/notifications before showing a new one
- specify a key for all existing alerts
- close failure alerts on successful retries
- clear all currently displayed alerts on successful sign-in
2015-10-12 19:21:30 +01:00
Kevin Ansfield
343b2ccbca deps: grunt-jscs@2.1.0
no issue
- update grunt-jscs dependency
- fix deprecated `validateJSDoc` configuration
- fix numerous linting errors, including:
  - use of future-reserved `public` and `private` variable names
  - use of `[]` instead of dot-notation (especially `express['static']` and `cacheRules['x']`)
  - extra spaces in `const { run } = Ember` style constructs

One issue that did become apparent is that there are conflicting rules that prevent the use of object function shorthand such that both of these:

```
{ myFunc() {} }
{ myFunc () {} }
```

are called out due to either the missing or the extra space before the `(`
2015-10-12 19:21:16 +01:00
Hannah Wolfe
cdd7d0aef8 Add titles to key icons
closes #5379, refs #3964

- add 'Markdown Help' title to markdown logo
- add 'Post Settings' title to post settings cog
- add 'Edit this post' title to edit icon on content screen
2015-10-12 09:04:16 +01:00
Austin Burdine
7f4f5dc71d add tag description validation to tag settings menu
refs #5845

- adds validation to description field
- fixes css to word-wrap on words that are too long
2015-10-08 23:01:59 -05:00
Leonard Camacho
04d84d0d53 Shows image on Tag settings
closes #5800
2015-10-08 14:27:41 -04:30
Kevin Ansfield
ca46d92086 Fix unsaved nav settings persisting across transitions
closes #5852
- resets navigation settings controller's model when transitioning away
- fixes `locationType` config setting so acceptance tests don't mess with the URL
- configure the ephemeral session store for ember-simple-auth during tests
- adds dummy env-config meta fields so acceptance tests don't fail
- adds `ember-cli-simple-auth-testing` dependency for auth testing helpers
- adds Pretender dependency to mock API requests for acceptance tests
2015-10-07 15:57:14 +01:00
Hannah Wolfe
b70c753466 Merge pull request #5920 from kevinansfield/fix-upload-autoscroll
Fix preview scroll jump when adding/removing images
2015-10-07 12:46:56 +01:00
Kevin Ansfield
5c0b63f300 Ember-cli, Ember, & Ember Data 1.13.x upgrades
closes #5630
- upgrade ember-cli to latest version
- upgrade ember to latest 1.13.x release
- upgrade ember data to latest 1.13.x release
    - update custom adapters and serialisers for new internal JSON-API compatible formats [(docs)][1]
    - update all store queries to use new standardised query methods [(docs)][2]
    - add ember-data-filter addon ready for store.filter removal in ember-data 2.0 [(docs)][3]
- remove use of prototype extensions for computed properties and observers
- consolidate pagination into a single route mixin and simplify configuration

[1]: http://emberjs.com/blog/2015/06/18/ember-data-1-13-released.html#toc_transition-to-the-new-jsonserializer-and-restserializer-apis
[2]: http://emberjs.com/blog/2015/06/18/ember-data-1-13-released.html#toc_simplified-find-methods
[3]: http://emberjs.com/blog/2015/06/18/ember-data-1-13-released.html#toc_ds-store-filter-moved-to-an-addon
2015-10-06 16:09:05 +01:00
Kevin Ansfield
4212d48fe2 Fix preview scroll jump when adding/removing images
closes #5917
- fixes duplication of dropzone event handlers by filtering for an added data-attribute
- avoid running dropzone code if only scrollPosition attr changes
- fix scroll position jump when adding/removing images by only adjusting preview scroll position when editor scroll position changes
2015-10-06 14:47:06 +01:00
Kevin Ansfield
5c9a824d53 Standardize on var-less export default across ember app
no issue
- drops the `var Foo = Ember.Thing.extend({}); export default Foo;` syntax in favour of exporting directly, eg: `export default Ember.Thing.extend({})`
- discussion on this change [here](https://github.com/TryGhost/Ghost/pull/5340#issuecomment-105828423) and [here](https://github.com/TryGhost/Ghost/pull/5694#discussion-diff-37511606)
2015-10-06 10:59:50 +01:00
Kevin Ansfield
587c08979a Merge pull request #5871 from cobbspur/preventEnter
Prevent enter button reloading page when focus is on meta-title in PSM
2015-09-27 14:03:47 +01:00
cobbspur
410116db48 Prevent enter button reloading page when focus is on meta-title in PSM
closes #5854

- adds an action that returns false on form submission
2015-09-27 13:59:08 +01:00
Hannah Wolfe
84eefa4e89 Merge pull request #5843 from kevinansfield/fix-nav-regressions
Fix nav regressions in admin client
2015-09-27 13:36:04 +01:00
Kevin Ansfield
55e4376be7 Fix over-sized editor pane widths
closes #5804, supersedes and closes #5820
- adds a fixed width that flexbox can expand from to prevent flexbox content dictating the width (see https://github.com/TryGhost/Ghost/issues/5804#issuecomment-141416812)
- adds a hack to the casperjs tests reverting the CSS change because phantomjs and flexbox don't get along
2015-09-24 18:46:13 +01:00
Kevin Ansfield
d8728aad57 Fix nav regressions in admin client
issue #5841

- fix relative link checks in navlink url input component
- fix navlink url input component sending absolute URLs instead of relative URLs to action handler
- remove URL manipulation in navigation settings controller (url input handles URL manipulation, validator flags anything that's still incorrect)
- capture cmd-s in url input to ensure changes are actioned before save
- automatically add mailto: to e-mail addresses
- add gh-validation-state-container component so .error/.success validation classes can be applied to any container element
- add validation-state mixin that can be mixed in to any other component to give it access to validation status (used in gh-navitem component to keep alignment when inline error message elements are added)
- validate and display inline errors on save
- improve ember test coverage for navigation settings related controller and components
2015-09-23 17:05:41 +01:00
Hannah Wolfe
bb161ba42d Merge pull request #5818 from acburdine/infinity-fix
Fix config service bug causing client secrets to be rendered as infinite numbers
2015-09-18 13:40:16 +01:00
Kevin Ansfield
010bd4ed90 Fix shortcut keys sometimes not being cleared due to scope changes
closes #5813
- when transitioning away from a shortcuts route, always specify the scope when unbinding in keymaster to avoid issues when we are temporarily be in a different scope at time of transition
2015-09-11 09:54:55 +01:00
Austin Burdine
497a74beb0 fix bug with config service interpreting rare client secret strings as exponential numbers
closes #5815
- replaces isNaN function call with isFinite in config service
- adds config service unit test
2015-09-09 08:19:45 -05:00
Kevin Ansfield
4ff23ec9f0 Merge pull request #5796 from ErisDS/user-invite-val
Adds rudimentary validation to user invite
2015-09-02 22:51:29 +01:00
Hannah Wolfe
b012caef26 Adds rudimentary validation to user invite
refs #5652

- with these changes, validation appears, but doesn't properly prevent closing the modal
- this needs revisiting at some point
2015-09-02 22:26:59 +01:00
Hannah Wolfe
9d1d4ae5ba Merge pull request #5795 from kevinansfield/fix-console-error
Fix teardown of resize handler in content management screen
2015-09-02 22:17:51 +01:00
Kevin Ansfield
cbd6395b1e Merge pull request #5788 from ErisDS/search-timeout
Reduce search refresh timeout & forgotten link fix
2015-09-02 22:12:55 +01:00
Kevin Ansfield
fe16ec24f0 Fix teardown of resize handler in content management screen
refs #5659 ([comment](https://github.com/TryGhost/Ghost/issues/5659#issuecomment-137114898))
- cleans up resize handler on willDestroy hook of gh-content-view-container
2015-09-02 21:41:47 +01:00
Hannah Wolfe
82edba3ff3 Merge pull request #5792 from kevinansfield/fix-search-listing-selection
Fix selected search item appearing as multi-select item in search input
2015-09-02 20:57:03 +01:00
Hannah Wolfe
92e2ab72ea Merge pull request #5794 from novaugust/psm-blog-url
Add config.blogUrl key to PSM's seoURL property
2015-09-02 20:50:50 +01:00
Kevin Ansfield
290988eb33 Fix selected search item appearing as multi-select item in search input
no issue
- adds an observer to the component's `selection` property that always clears it if it's assigned a value
2015-09-02 19:34:54 +01:00
Matt Enlow
700e6d2da5 Add config.blogUrl key to PSM's seoURL property
Closes #5793
2015-09-02 12:34:48 -06:00
Hannah Wolfe
16d7790a19 Merge pull request #5791 from kevinansfield/autohide-nav-translate3d
Better flickering auto-nav fix
2015-09-02 18:36:28 +01:00
Kevin Ansfield
5edca27748 Merge pull request #5789 from cobbspur/spinner
Keep spinner running on successful signin
2015-09-02 18:02:22 +01:00
Kevin Ansfield
459f4afd2a Merge pull request #5744 from ErisDS/skip-link
Make skip link work with Ember
2015-09-02 17:59:06 +01:00
Sebastian Gierlinger
744f6221c5 Merge pull request #5706 from ErisDS/fix-private
Database version 004 - Good to merge
2015-09-02 18:53:51 +02:00
Kevin Ansfield
909e038e63 Better flickering auto-nav fix
refs #5652
- reverts previous fix (#5698) to return translate3d smoothness
- add separate open-autonav toggle element and style it to always stick to the viewport edge to avoid wandering hover hit areas
2015-09-02 17:41:50 +01:00
Hannah Wolfe
4b760fccfb Reduce search refresh timeout & forgotten link fix
no issue

- Change timeout from 60secs to 10secs for refreshing search results
- Remove white background from forgotten password link
2015-09-02 17:41:28 +01:00
John O'Nolan
966efa9f13 uhbuhbyenow 2015-09-02 17:49:15 +02:00
cobbspur
e9eab53048 Keep spinner running on successful signin
No Issue

- Removes the toggle of spinner for successful authentication
2015-09-02 16:49:04 +01:00
Sebastian Gierlinger
71215847c8 Add dynamic client_id/client_secret
no issue
- added ghost-admin client_id to admin
- added ghost-admin client_secret to admin
- added client.read() api endpoint
- added random generation of client_secret to migration
- removed addClientSecret method
- updated tests
2015-09-02 16:39:34 +01:00
Hannah Wolfe
40d71b7504 Merge pull request #5786 from JohnONolan/searchmobile
Search mobile fixes
2015-09-02 16:15:47 +01:00
John O'Nolan
e99670db65 Search mobile fixes 2015-09-02 16:13:18 +02:00
Hannah Wolfe
85954a1a57 Make skip link work with Ember
refs #5652

- handles the skip link using js so that ember doesn't interfere with the anchor
- uses the code suggested here: https://www.codehive.io/boards/pZUuwIk
2015-09-02 14:56:46 +01:00
Hannah Wolfe
7d22db9c40 Change type for private blog settings
refs #5614 and #5503

- update private blog type, including update to settings.edit
- switch order of populate settings & update fixtures + populate all settings

Private blog settings should not be returned by public endpoints
therefore they need a type which is not `blog` or `theme`.
`core` doesn't suit either, as those settings don't usually have UI
To resolve this, I created a new type `private` which can be used
for any setting which has a UI but should not be public data
2015-09-02 13:39:23 +01:00
Hannah Wolfe
5ea540d775 Merge pull request #5780 from kevinansfield/selectize-addselection-index
Fix tag order when selecting existing tags
2015-09-02 13:34:00 +01:00
Hannah Wolfe
3e088cf2f5 Merge pull request #5783 from kevinansfield/validation-fixes
Minor validations fixes
2015-09-02 11:53:13 +01:00
John O'Nolan
a6f283f639 Updated editor preview code styles 2015-09-02 12:08:10 +02:00
John O'Nolan
03f987c9e3 Improved onboarding copy, polling time, form inputs 2015-09-02 12:08:01 +02:00
John O'Nolan
e7f1af2e6d Search styling 2015-09-02 12:07:47 +02:00
Kevin Ansfield
a9a34e1fd6 Merge pull request #5775 from ErisDS/signin-validation
Add email validation back to signin
2015-09-02 11:05:38 +01:00
Kevin Ansfield
9e5e062ed8 Minor validations fixes
no issue
- clear private blog password validation errors on enable/disable
- validate maximum tag name length
- fix sticky validations when moving between tags or navigating to/from tags manager
2015-09-02 10:34:22 +01:00
Kevin Ansfield
2f899bf94b Merge pull request #5745 from ErisDS/fix-green-icons
Form field icons load in default 'grey' state
2015-09-02 10:32:53 +01:00
Kevin Ansfield
6b8b1dfb0d Display "No results" message when no search results found
no issue
- add a "No results" element to the search dropdown on creation and show/hide it appropriately
2015-09-02 09:23:20 +01:00
Kevin Ansfield
5596fd808b Fix tag order when selecting existing tags
refs #5773
- overrides ember-cli-selectize's `_addSelection` method to insert objects at the correct index instead of always adding at the end
2015-09-01 22:55:23 +01:00
Hannah Wolfe
025efe6d54 Merge pull request #5778 from kevinansfield/mobile-preview
Mobile markdown/preview tabs
2015-09-01 19:02:05 +01:00
Kevin Ansfield
353dc512bb Mobile markdown/preview tabs
refs #5652
- on mobile, add Markdown/Preview links to the editor footer that switch between the respective views
- temporary resolution to the inability to upload on mobile without access to the preview
2015-09-01 18:14:40 +01:00
Hannah Wolfe
09bcbb9463 Form field icons load in default 'grey' state
ref #5652

- validations can be in default, success or error state
- adds check for 'hasValidated' if the validations haven't fired yet, the field is in the default state
- hasValidated is an Ember.Array which tracks the state for each field
2015-09-01 13:02:27 +01:00
Hannah Wolfe
2da1a06196 Merge pull request #5772 from kevinansfield/minor-tag-input-updates
Don't show selectize dropdown when input field is blank
2015-09-01 12:23:04 +01:00
Kevin Ansfield
58c60f5662 Merge pull request #5764 from ErisDS/issue-5762-psm
Improve error handling for the PSM
2015-09-01 12:22:10 +01:00
Hannah Wolfe
fc4ef38db8 Add email validation back to signin
refs #5745

- signin form was not checking email address was valid
2015-09-01 11:31:57 +01:00
Kevin Ansfield
194bc209a9 Merge pull request #5769 from ErisDS/issue-5767
Fix double-click & enter/o editing shortcuts
2015-09-01 11:00:15 +01:00
Kevin Ansfield
169384c3c7 Don't show selectize dropdown when input field is blank
no issue
- modify behaviour of selectize's `openOnFocus` option by ensuring that the dropdown is not opened when the input field is blank
- fixes issue with dropdown opening when content is loaded async despite `openOnFocus=false`
- fixes issue with dropdown remaining open when user enters text then deletes it
2015-09-01 10:40:41 +01:00
Hannah Wolfe
e574edf240 Merge pull request #5759 from kevinansfield/basic-post-search
Basic post/user search
2015-09-01 10:27:05 +01:00
Kevin Ansfield
a91cd2210e Basic post/user search
refs #5343, #5652
- implements basic post and user search using selectize input
- queries minimal API endpoint and refreshes results on search input focus if results are older than 60 seconds
2015-08-31 22:47:26 +01:00
cobbspur
42b76a2778 Prevent gh-spin-button from infinite spin
closes #5768

- Always set showSpinnerTimeout back to null after 1 second.
2015-08-31 13:41:01 +01:00
Hannah Wolfe
16ca8c65a9 Fix double-click & enter/o editing shortcuts
closes #5767

- readd action for double click
- use model for openEditor
2015-08-31 10:58:34 +01:00
Kevin Ansfield
a1f8a5f81c Merge pull request #5766 from JohnONolan/colourrrr
Minor colour update
2015-08-31 09:06:22 +01:00
John O'Nolan
c22d23d355 Minor colour update 2015-08-31 08:04:09 +02:00
Hannah Wolfe
7dd0c0cf85 Improve error handling for the PSM
closes #5762

- changes date to use proper inline validation
- changes meta_title & desc to also use inline validation
- meta_title & desc also give proper errors on save
- title too long causes proper error on save
2015-08-30 17:26:52 +01:00
Hannah Wolfe
2476da2b2a Merge pull request #5760 from cobbspur/emptyValidations
No validations on setup for empty fields
2015-08-28 20:16:15 +01:00
Hannah Wolfe
e4d689b989 Merge pull request #5758 from cobbspur/invitecheck
Prevent invite action in step 3 of setup being triggered at wrong time
2015-08-28 19:18:06 +01:00
Hannah Wolfe
fad986673a Merge pull request #5709 from kevinansfield/tag-name-comma-validation
Validate leading commas in tag names
2015-08-28 19:03:31 +01:00
Hannah Wolfe
7f33ae0189 Merge pull request #5752 from kevinansfield/content-mgmt-mobile-nav
Fix broken content mgmt -> editor links on mobile
2015-08-28 19:00:20 +01:00
cobbspur
b14f918b71 No validations on setup for empty fields
refs #5652

 - new action on focusOut which only calls validate if the fields has a value
2015-08-28 18:55:37 +01:00
Hannah Wolfe
6e9c79fb9d Merge pull request #5755 from jomahoney/tabnav
Prevents partial tab view when using keyboard navigation in tag settings
2015-08-28 18:54:40 +01:00
Hannah Wolfe
0a924451eb Merge pull request #5739 from cobbspur/forgotPassword
Add loading spinner to forgot button on signin page
2015-08-28 18:47:14 +01:00
Hannah Wolfe
2f8b6e1f59 Merge pull request #5754 from cobbspur/flowstep3
Prevent setup loop on step 3
2015-08-28 17:38:23 +01:00
cobbspur
594ae6c7d9 Add loading spinner to forgot button on signin page
refs #5652

- replaces basic forgot? button on signin page with spin button
- replaces {{input with gh-input}}
2015-08-28 17:20:03 +01:00
cobbspur
dfbaeaf587 Prevent invite action in step 3 of setup being triggered at wrong time
closes #5757

- validates text on focusOut
- prevent invite action being triggered every time text field gets focus.
2015-08-28 17:16:30 +01:00
Kevin Ansfield
6989843b19 Fix auth token refresh failing on app-boot with expired access_token
issue #5751
- moves `makeRequest` override of simple-auth's OAuth authenticator into our own custom authenticator (previously our override was not taking effect until after ember-simple-auth's initial authentication routines, hence why it was working for post-login token refreshes but failing on app-boot)
2015-08-28 16:00:34 +01:00
John O'Mahoney
c47e10d60a Prevents partial tab view when using keyboard navigation in tag settings
refs #5652
- Mimics behaviour of post-settings-menu
- Surrounded the subnavpage with a conditional to check if the page is
  active before focusing on it
2015-08-28 14:50:53 +01:00
Hannah Wolfe
dd8da3bad7 Merge pull request #5742 from kevinansfield/spin-button-minimum-timeout
Set a minimum spin time of 1 second for gh-spin-button
2015-08-28 13:15:45 +01:00
Hannah Wolfe
74f26cbe23 Merge pull request #5733 from kevinansfield/fix-tag-input-creation-order
Fix post tag input so it keeps the tag order
2015-08-28 12:41:28 +01:00
cobbspur
1813388309 Prevent setup loop on step 3
closes #5747

- change transition event to regardless of user invite success/failure
2015-08-28 12:35:40 +01:00
Kevin Ansfield
2682e47478 Fix broken content mgmt -> editor links on mobile
refs #5652
- add `ember-resize` addon that registers a single resize event handler and exposes it as a service and mixin
- add a component that wraps the posts list and content preview and exposes a `previewIsHidden` property
- use the `previewIsHidden` property in `gh-posts-list-item` to switch the item's link between the editor and the preview
- add `display: none` to the preview pane when in mobile so that we can test it's visibility
2015-08-28 11:52:38 +01:00
Kevin Ansfield
63f27c229b Set a minimum spin time of 1 second for gh-spin-button
refs #5652, #5719
- adds a timeout to `gh-spin-button` so the spinner is always shown for at least 1 second

As a stopgap solution before #5719 can be implemented it was decided to keep the button spinning for a minimum time, even if the associated action completes quickly. Discussion can be found at https://ghost.slack.com/archives/dev/p1440670418004358
2015-08-27 22:16:01 +01:00
cobbspur
250500c0a3 Fix wording for failed invitations alert
refs #5652

- Use conditional string for single/plural failed invitations
2015-08-27 18:17:13 +01:00
Kevin Ansfield
3fdd8cd39d Fix invite user validation issues in signup
refs #5652
- wrap emails input in `{{gh-form-group}}` component to give element success/error classes
- pull validation messages into submit button
- clean up validation related aspects of step three controller
2015-08-27 14:05:52 +01:00
John O'Nolan
b8934f7a8a Consolidation of dropdown sizes 2015-08-27 13:27:49 +02:00
Hannah Wolfe
1c872df1cf Merge pull request #5736 from JohnONolan/newtags
Newtags
2015-08-27 11:36:56 +01:00
John O'Nolan
65939c2d86 Customised selectize theme for Ghost tags 2015-08-27 12:15:37 +02:00
John O'Nolan
bdfd972bad Minor visual bugfixes
- Line height on forgotten password butotn
- Regresson in button display mode
2015-08-27 12:14:59 +02:00
Kevin Ansfield
8b83b46664 Fix post tag input so it keeps the tag order
refs #5732
- patches ember-selectize to send the caret position to the create-item action handler
- updates `addTag` method in PSM controller to insert new tag in the correct place
2015-08-26 21:46:57 +01:00
Hannah Wolfe
b947f01d30 Merge pull request #5727 from kevinansfield/fix-disappearing-tags-on-save
Fix new tags disappearing in PSM when saving post
2015-08-26 19:58:31 +01:00
Hannah Wolfe
b2c11d587d Spin button consistency
refs #5652

- always put button text inside opening/closing helper tag
- only include type if it is 'submit' as button is default
- wrap attributes in double quotes
2015-08-26 16:21:42 +01:00
Hannah Wolfe
25ba3b0d22 Improve markup + tabindex etc on setup/two
refs #5652

- ensure gh-spin-button passes type & tabindex through to markup
- add gh-input class to auto focus input
- add tabindexes to setup/two + make first field autofocus and button submit
2015-08-26 16:20:52 +01:00
Hannah Wolfe
87b197ffc9 Merge pull request #5730 from JohnONolan/XELDA
Xelda
2015-08-26 15:19:56 +01:00
John O'Nolan
32b91ec397 Merge pull request #5729 from kevinansfield/selectize-styles
Copy selectize styles ready for customisation
2015-08-26 16:05:13 +02:00
Hannah Wolfe
e823ee17c0 Merge pull request #5721 from cobbspur/reset
Change reset page errors to match sign-in page
2015-08-26 14:54:30 +01:00
Kevin Ansfield
8658e98de3 Copy selectize styles ready for customisation
no issue
- prevent ember-cli-selectize addon auto-importing styles
- copy all previously imported selectize styles into the app styles
2015-08-26 14:32:39 +01:00
John O'Nolan
a455809cab Increase hit area on PSM controls
Closes #5714
2015-08-26 15:20:41 +02:00
John O'Nolan
cd6289ba0a Minor visual edits
- Adjust edit post button position
- Increase hit area on post settings cog
2015-08-26 15:12:04 +02:00
Kevin Ansfield
b40350b760 Merge pull request #5720 from ErisDS/password-flow
Don't clear password field until setup is complete
2015-08-26 12:41:18 +01:00
cobbspur
0987518859 Change reset page errors to match sign-in page
No Issue

- Takes the inline validation messages and displays below form
- Removes unnecessary gh-error-message components from signin and reset pages
 - Returns error messages to sign-in validations
2015-08-26 12:00:37 +01:00
Sebastian Gierlinger
72f8d405ed Merge pull request #5722 from ErisDS/download-count
Number formatting function for download counter
2015-08-26 10:36:12 +02:00
John O'Nolan
f7baac85ff Merge pull request #5715 from dbalders/About-Page-Header
Add Menu to About Ghost Page
2015-08-26 06:04:15 +02:00
Kevin Ansfield
de970a4aba Fix new tags disappearing in PSM when saving post
closes #5708
- when adding a tag give it a throwaway UUID so that every selected/available tag object has a unique identifier for use with selectize
2015-08-25 23:53:19 +01:00
John O'Nolan
58a86d17be Optimise mobile navigation
Make everything a little bit larger on small screens
2015-08-25 18:01:26 +02:00
Hannah Wolfe
36e0a6b74c Number formatting function for download counter
refs #5652

- safari doesn't support the nice toLocaleString function
- this adds a manual, cross-browser way of adding commas in the right places to long number strings
2015-08-25 15:04:58 +01:00
Hannah Wolfe
6cb45d6939 Don't clear password field until setup is complete
ref #5652

- resolves issues with setup flow for the time being
- password is cleared on deactivate, rather than during step 2
- using transitionToRoute instead of transitionTo to remove deprecation warning
2015-08-25 13:16:39 +01:00
John O'Nolan
f59aa45ea1 Fix splitbutton height regression
Caused by removing display:flexbox from buttons a while back
2015-08-25 13:58:24 +02:00
John O'Nolan
9d5ea5d9be Add white bg to forgotten password link
Lastpass injects its password-fill icon into password inputs, this shows up awkwardly with the forgot-password button. Adding a white BG hides this.

Followup on #5641
2015-08-25 10:20:34 +02:00
David Balderston
0d6fafc969 Add Menu to About Ghost Page
Header on About Page was still missing, so added it in
* Added the header to the about.hbs
2015-08-24 18:27:33 -07:00
Kevin Ansfield
643f712624 Validate tag names don't start with commas
closes #5685
- Adds client and server-side validation for tag names starting with commas
- Trim tag names before adding in PSM (tag attributes are already trimmed before saving in TSM)
2015-08-24 16:55:30 +01:00
Kevin Ansfield
d633bf315f Fix alerts disappearing when navigating
closes #5707
- fix disappearing alerts after transitions by not clearing all alerts/notifications when closing menus
- remove `notifications.closeNotifications()` calls left over from needing to clear validation notifications
2015-08-24 16:07:09 +01:00
Hannah Wolfe
566bc03f5f Merge pull request #5694 from kevinansfield/zelda-invite-fixes
Minor UI fixes for invitations
2015-08-24 12:41:43 +01:00
Hannah Wolfe
54f8c8e65f Merge pull request #5691 from acburdine/spin-fix
Fix auto width and height of spin button
2015-08-24 12:07:39 +01:00
John O'Nolan
6a7fa1a183 Merge pull request #5702 from kevinansfield/zelda-signin-updates
Fixes for sign-in error handling
2015-08-24 08:00:13 +02:00
Hannah Wolfe
2972080088 Merge pull request #5682 from kevinansfield/tags-v4
Replace the current tag input with a selectize based input
2015-08-21 21:34:06 +01:00
Hannah Wolfe
7545e4a655 Merge pull request #5699 from kevinansfield/close-nav-menu-on-transition
Mobile nav menu fixes
2015-08-21 21:32:26 +01:00
Hannah Wolfe
5f5f67d171 Merge pull request #5687 from kevinansfield/fix-tags-validation
Add inline error handling and tests for tag creation/editing
2015-08-21 21:31:40 +01:00
Kevin Ansfield
045e5054a0 Fixes for sign-in error handling
issue #5652, closes #5641
- removes inline errors for empty fields
- separate validation routines for sign-in and forgot password
- highlight fields with errors when trying to submit
2015-08-21 19:38:44 +01:00
Kevin Ansfield
93179c1e6a Add inline error handling when creating/editing tag
closes #5684
- add inline error checking and display to tag name & meta data fields
- add tests for tags screen
2015-08-21 18:06:52 +01:00
John O'Nolan
a319f349bb Merge pull request #5700 from kevinansfield/inline-error-styles
Style inline-error fields and response test
2015-08-21 16:55:48 +02:00
John O'Nolan
16d7a86810 Merge pull request #5698 from kevinansfield/fix-autonav-flicker-v2
Fix flickering autonav animation
2015-08-21 15:29:05 +02:00
John O'Nolan
659999b5aa Merge pull request #5697 from Gargol/a11y-improvement-for-menu-toggle
Adds 'button' role to toggle menu icon for better a11y
2015-08-21 10:23:43 +02:00
Kevin Ansfield
3dd612a4ee Style inline-error fields and response test
issue #5652
- highlight input border and response text in red
2015-08-20 17:04:37 +01:00
Kevin Ansfield
a6910de08a Mobile nav menu fixes
issue #5483 & #5652
- trigger the close menus action every time a route transition is successful
- close nav menu when clicking "collapse sidebar" button (action chain was incomplete)
2015-08-20 16:49:33 +01:00
Sebastian Gierlinger
a00cbf0f61 Merge pull request #5689 from kevinansfield/fix-property-val-of-undefined
Fix occasional `Cannot read property 'val' of undefined` errors in console
2015-08-20 16:53:47 +02:00
Kevin Ansfield
3efdfdf79f Replace the current tag input with a selectize based input
issue #3800, closes #5648
- uses ember-cli-selectize addon for the tag editing functionality in the PSM
2015-08-20 14:40:56 +01:00
Kevin Ansfield
3d3c6f8bbe Fix flickering autonav animation
- use `transition: left` instead of `transform: translate3d`
- fixes issue where translate3d moves the element immediately then animates resulting in invisible hit areas that cause unexpected hover behaviour whilst animation is in progress
- translate3d is sometimes faster as it doesn't need to constantly re-calculate layout, however in this case the element is positon:absolute and we're only animating opaque elements so the benefit is marginal. Tested on Late-2012 13" retina MBP and framerate was consistently 100fps or higher.
2015-08-20 13:04:26 +01:00
Nazar Gargol
2aed13dfcf Adds 'button' role to toggle icon for better a11y
closes #5696
- adds button role to toggle icon on new zelda menu
2015-08-20 12:51:44 +02:00
Kevin Ansfield
bc6d31701c Minor UI fixes for invitations
issue #5652
- display "Sending Invite..." text after clicking "RESEND" link
- change "Invitation sent" alert to notification
2015-08-20 10:36:36 +01:00
Austin Burdine
a7ed98cc3e fix auto width and height of spin button component
refs #5652
- changes the spin-button so that it only sets the size when the button is submitting instead of all of the time
2015-08-19 23:39:07 -04:00
Kevin Ansfield
a889844188 guard against missing $previewContent/ViewPort in gh-editor.scrollPosition
issue #5659
- fixes occasional issue with editor not rendering due to scrollPosition being requested before the relevant jquery elements have been set
2015-08-19 20:44:59 +01:00
Kevin Ansfield
b74b30ef99 guard against missing editor element in editor-base-controller.save
issue #5659
- Fixes occasional issue with `Uncaught TypeError: Cannot read property 'val' of undefined` errors appearing when navigating quickly to/from the editor. I traced the `save` action calls back to the `autoSave` method - it may warrant further investigation to find out why the throttled/debounced calls are sometimes made when the editor element is non-existent.
2015-08-19 20:43:30 +01:00
John O'Mahoney
dbeea0f9bd Update signup form to have profile image upload component
closes #5544
- Added profile image into `signup.hbs`
- Added image handling in `signup.js` controller
- Uses session authenticated user to upload image
2015-08-15 13:00:42 +01:00
John O'Nolan
8dd69ddaef Variety of style fixes
- Modal button position tweaked, removed extraneous margin
- Fix user profile full name field and mobile profile-picture
- Added chevron to tag settings men, corrected chevron colour
- Fixed regression in delete-tag button caused by removing flexbox from buttons
- Fixed regression in button positioning on about-ghost page caused by removing flexbox from buttons

See #5652
2015-08-13 10:04:45 +02:00
John O'Nolan
495536fbe3 Fixed publish menu positioning, cleaned up dropdown component
See #5652
2015-08-13 09:09:07 +02:00
John O'Nolan
0c2e6b617c Kill old tag styles 2015-08-13 08:55:41 +02:00
John O'Nolan
eb08826f3e Multiple minor visual style fixes
- Lighter dropdown shadow
- Removed display:flex from .btn because safari can't handle it on <button> elements, where it will immediately set all text-alignment to "left" with no way to change. I haven't been able to find any regressions for this change so far. Can't remember why buttons were supposed to be flexbox anyway. Maybe for icon alignment within buttons, but I can't find any such examples within the app.
- Safari thinks that user-select: all; means a single click should SELECT ALL THE THINGS. Removed/replaced with user-select: text; which makes it behave like Chrome; click and drag to select.
- Increased hit area for "?" button
- Removed :active style for post-edit button on content management screen, adjusted position
- Increased contrast on tag description, tag count, and view blog links

See #5652
2015-08-12 10:29:40 +02:00
John O'Nolan
411df4dbb1 Prevent view titles from being cut off in Safari
See #5652
2015-08-12 09:17:01 +02:00
Hannah Wolfe
6ac7f09043 Merge pull request #5658 from acburdine/tag-fixes
fixed focus and duplication tag issues
2015-08-11 19:42:52 +01:00
Hannah Wolfe
8e76da83b5 Merge pull request #5654 from cobbspur/bugfixes
Lock out email address on signup page
2015-08-11 18:06:12 +01:00
Austin Burdine
96c5d2a2de fixed focus and duplication tag issues
refs #5648
- adds default value to refocus in reloadTypeahead method to fix focus issues
- moves tag input clearing call up to avoid duplication.
2015-08-11 11:04:53 -06:00
cobbspur
e8024c9789 Fix spinner on settings page
refs #5652

- stops spinner from spinning forever on settings screen when saving
2015-08-11 15:26:24 +01:00
cobbspur
04130cf8c1 Lock out email address on signup page
refs #5653

- disables email field
- pull error message from api response
2015-08-11 14:25:30 +01:00
cobbspur
27122091b5 Fix errors for setup and signup
refs #5635

- adds enter action to signup fields
- adds validation text errors
2015-08-10 22:24:10 +01:00
Hannah Wolfe
c174dd27ce Merge pull request #5633 from acburdine/spin-buttons
Add spin buttons
2015-08-10 19:06:32 +01:00
Austin Burdine
2833675238 add spin-button component & implement it
closes #3928
- adds spin-button component & styles
- implements spin-button in places where buttons trigger async tasks
2015-08-10 09:43:50 -06:00
Austin Burdine
16d0965a9e reimplement tag editing component for posts
refs #3800
- remove old tag editor code
- reimplement tag editor as an ember component
- add tag editor component to PSM
2015-08-10 07:22:37 -06:00
Hannah Wolfe
0269f49358 Merge pull request #5640 from cobbspur/errors
Fix server errors for signin
2015-08-10 13:20:53 +01:00
Hannah Wolfe
c2a8d5254c Merge pull request #5634 from acburdine/onboard-fixes
Fixes in setup/three
2015-08-10 13:17:28 +01:00
cobbspur
c6531b491f Fix signin errors
refs #5635

- fixes format for server errors
- changes signin-api validation errors to be text rather than alerts
2015-08-10 12:26:45 +01:00
Austin Burdine
256722a9d3 setup/three fixes
refs #5315
- adds call to loadServerNotifications so that notifications are loaded after setup
- fixes user invite so that you can't invite someone with the same email as you created the owner with
2015-08-09 22:40:27 -06:00
cobbspur
13f9fd9cb0 Fix signup bug
No Issue

- fixes bug that prevents successful signup from invite
2015-08-08 16:04:28 +01:00
cobbspur
5b19463445 Enter key submits form in setup step 2
Issue #5315

 - adds gh-input enter event to trigger setup action
 - removes html for unused password strength hint
2015-08-04 09:36:02 +01:00
Kevin Ansfield
61e5ebdd2f WIP: review uses of notifications.showErrors
issue #5409

`notifications.showErrors` was historically used to display multiple error notifications whether from validation errors or responses form the API. This usage needs to be reviewed as inline validations should handle the validation side and we should be displaying alerts for actual errors.

Eventually `notifications.showErrors` should be left unused and therefore removed.
2015-07-28 12:27:57 +01:00
Kevin Ansfield
7ab232e770 Replace validation notifications with inline validations
issue #5409 & #5336

- update settings/general
- update signin
- update signup
- update edit user
- update reset password
- update setup/three
- remove `formatErrors` function from validationEngine mixin (it's no longer needed as inline validations should handle this instead)
2015-07-28 12:26:34 +01:00
Kevin Ansfield
ee89b11a6a Refactor notifications service & components
issue #5409

- change persistent/passive notification status to alert/notification
- replace showSuccess/Info/Warn/Error with showNotification/showAlert
- fix and clean up notification/alert components
2015-07-28 12:26:11 +01:00
Jason Williams
fd74180c16 Merge pull request #5565 from acburdine/profile-debounce
Refactor setup controller to only pass valid email into profile image component
2015-07-22 09:53:30 -05:00
Jason Williams
58bf77ac3a Merge pull request #5596 from kevinansfield/fix-missing-code-injection-auth-redirect
Fix missing redirect on settings/code-injection when not authenticated
2015-07-22 09:51:28 -05:00
Kevin Ansfield
ac2ae5a788 Fix missing redirect on settings/code-injection when not authenticated
related issue #5412
- code-injection route was overriding `beforeModel` without calling `super` which meant the redirect handling added in `AuthenticatedRoute` was being skipped
2015-07-22 11:31:42 +01:00
Austin Burdine
cd99a2bd29 fix setup controller to pass in only a valid email to the profile-image component
closes #5563
2015-07-21 13:19:09 -04:00
cobbspur
f2d5c5fc26 User Onboarding - flow navigation
closes #5317

- Adds back button to steps 2 and 3
- Prevents user navigating from step 1 to step 3 unless blog has been created
- Prevents user navigating from step 2 to step 3 unless blog has been created
2015-07-21 17:23:04 +01:00
Hannah Wolfe
6fc2b37ab2 Merge pull request #5575 from cobbspur/imageComponent
Disable image upload during setup for non persistent file storage
2015-07-19 23:23:08 +01:00
cobbspur
def08d7939 Disable image upload during setup for non persistent file storage
closes #5550

- passes config.fileStorage into gh-profile-image component
- does not render input tag if fileStorage is set to false
2015-07-18 20:26:27 +01:00
Jason Williams
00ede73105 Use correct property when determining display URL
Closes #5574
2015-07-17 10:23:29 -05:00
John O'Nolan
0659300a23 Merge pull request #5542 from BlueHatbRit/reset-pass-page-style-fix
Correct reset passsword screen markup and styles
2015-07-15 16:56:14 +03:00
John O'Nolan
669d7bdc43 Merge pull request #5555 from halfdan/fix/invite
Fix team/index screen
2015-07-15 16:54:07 +03:00
Rem Zolotykh
c1bf1aedd0 Allow editing blog details on setup
closes #5526
- when user creates blog we set `blogCreated` flag to true and
  depending on it make `POST` or `PUT` request
2015-07-15 03:17:55 +02:00
BlueHatbRit
b37fdda299 Correct reset passsword screen markup
closes #5524
- changed markup to reflect styles of the sign in screen.
- remove html classes that are redundant.
2015-07-14 20:15:00 +01:00
Fabian Becker
37235413e8 Fix team/index screen
- Incorrect message was shown (Invitation sent instead of Invitation not sent)
- Correct colouring of message (new .description-error class)
- Correctly display lastLogin time
- Add colour classes
2015-07-14 18:21:08 +02:00
Hannah Wolfe
ed0b726665 Merge pull request #5534 from Remchi/bug-invite-user
Invited user can sign up successfully
2015-07-13 22:10:16 +01:00
Hannah Wolfe
a59b7183e1 Merge pull request #5546 from acburdine/title-fix-2
Fix blog title not updating after setup
2015-07-12 21:20:45 +01:00
Austin Burdine
97118e61bd fixed some validation bugs
refs #5520
- all errors (or just one if property is specified) are cleared before running the checks to make sure that old errors get cleared
- fixed up validators to be slightly more sane as mutually exclusive tests aren't all being checked if one fails
2015-07-11 13:04:19 -04:00
Austin Burdine
5579d41fcb fix title of blog not updating after setup
closes #5545
- updates config with new blogTitle after setup is finished
2015-07-11 12:34:54 -04:00
Hannah Wolfe
591467c47b Merge pull request #5531 from acburdine/profile-fixes
Fixes the profile image uploader component
2015-07-11 13:17:48 +01:00
Hannah Wolfe
2cbf7aa9df Merge pull request #5517 from jaswilli/issue-5383
Focus on editor if transitioning from new post
2015-07-11 12:39:56 +01:00
Rem Zolotykh
c6bcefe6ae Invited user can sign up successfully
issue #5525
- add `DS.Errors` to `signup` model
- add check for errors: run `showErrors` method only if errors are defined, like in `signin` controller
2015-07-10 23:20:00 +02:00
Jason Williams
a7a5fe8cd3 Refactor role selects; pause transition if saving
Refs #5501
- Switch role select dropdowns from gh-select based components to
  gh-select-native.
- Prevent transition out of editor while there is an in-flight save.
2015-07-09 12:10:00 -05:00
Jason Williams
d8b49e6092 Rework gh-activating-list-item for new link-to 2015-07-08 18:37:15 -05:00
Austin Burdine
1b2e6ef78f profile image component fixes
closes #5528
- adds empty email message to setup validation
- fixes uploads so they actually work
- fixes gravatar to not disappear when an invalid file is selected
2015-07-07 17:13:45 -04:00
Hannah Wolfe
e807379ee3 Merge pull request #5355 from acburdine/onboard-profile
Add profile image upload component
2015-07-07 17:23:58 +01:00
Hannah Wolfe
8f8c5bb340 Merge pull request #5453 from cobbspur/teampermissions
Change permissions for team area
2015-07-06 20:54:29 +01:00
John O'Nolan
841a071cee Merge pull request #5507 from lukaszklis/colour-fixes
Removed left overs from SASS to Myth conversion
2015-07-06 19:26:04 +03:00
Austin Burdine
39b7630a6d added profile image component
closes #5334
- adds component for profile images (with optional gravatar)
- integrates image profile component into setup form
2015-07-05 17:37:22 -04:00
Hannah Wolfe
a6cf84b060 Merge pull request #5514 from halfdan/fix/5436
Reload user after import
2015-07-05 20:51:39 +01:00
Hannah Wolfe
1568cf01fb Merge pull request #5399 from acburdine/inline-errors
Add inline errors
2015-07-05 20:36:27 +01:00
Austin Burdine
b1ecc53cfc adds inline errors to validation
closes #5336
- creates gh-form-group component to handle form group status
- refactors current validation methods to work on a per-property basis
- adds gh-error-message component to render error message
- removes (comments out) tests that pertain to the old notifications until the new inline validation is added
2015-07-05 14:02:06 -04:00
Jason Williams
b7be8b8cfc Focus on editor if transitioning from new post
Closes #5383
2015-07-04 13:59:09 -05:00
cobbspur
acb1cc6283 Change permissions for team area
closes #5434

- remove transition away from team page to user page of authors
- hide invite button from authors
- hide invited users from authors
- adjusted gh-user-can and renamed to gh-user-can-admin
- hide password reset on owners profile from administrators
- hide input field for owner email from administrators pending api fix
- fix up tests
2015-07-03 20:06:45 +01:00
Fabian Becker
776826f576 Reload user after import
fixes #5436
2015-07-03 13:27:36 +02:00
Łukasz Kliś
8050e06fda Removed lighten left over from SASS to Myth conversion
Refs #5314
- replaced SASS's `lighten` with Myth's `color(x lightness())`
2015-07-03 07:46:38 +02:00
Łukasz Kliś
8bc8dc0532 Added multiline "placeholder" to 3rd step of setup
Closes #5459
- added a PNG background with 2 emails addresses as a "placeholder"
- added a `required` attribute for textarea in 3rd step of the setup
- taking an advantage of `:valid` pseudo-class to hide the background
  picture with email addresses
2015-07-01 23:14:27 +02:00
Hannah Wolfe
16a8c8220a Merge pull request #5477 from acburdine/title-fix
Fix blog title in nav menu not updating
2015-06-26 20:13:27 +01:00
Hannah Wolfe
c0570db675 Merge pull request #5484 from JohnONolan/O
Fix mobile display bugs on user list
2015-06-26 13:11:40 +01:00
John O'Nolan
e912bc0cde Fix mobile display bugs on user list
See #5483
2015-06-24 19:53:01 +01:00
Jason Williams
feac9682d0 Update Ember to 1.13.2
- Refactor to handle deprecations including removal of
  all Views, ArrayControllers, and ItemControllers.
2015-06-24 11:47:28 -05:00
John O'Nolan
4b5fc201a2 Main colour audit
Clean up grey colours by mixing in slightly more blue, standardise appearance across different parts of the app and move closer to brand  colours.
2015-06-24 13:37:37 +01:00
John O'Nolan
f57c0c672a Firefucks
Firefox can't do flexbox, because why would a modern browser be able to do flexbox? Cray.
Closes #5438, Closes #5401 - same fix but vh unit because % unit is hella unreliable.
2015-06-24 12:17:49 +01:00
John O'Nolan
38a5797211 Fight fire with overflow.
Prevents firefox from allowing blog title to overflow. This is an incredibly stupid fix for an incredibly stupid browser bug. Firefox is the worst modern browser in the world at basic layout rendering. Could someone let them know please? Closes #5430 as replacement.
2015-06-24 12:16:58 +01:00
John O'Nolan
061f3171ee First pass colour audit
This gets rid of old and un-used, or lesser-used colour variables.
2015-06-24 12:15:48 +01:00
Austin Burdine
816a02bbc7 fix blog title not updating in nav menu
closes #5474
- sets the blogTitle property of config when the title setting is changed
2015-06-23 14:15:36 -04:00
cobbspur
029e79b494 Take Trashcan off of url screen for image uploader
closes #5433
- add gh-input class to inputs
- stop the incorrect addition of trash can on url page
- fix trigger of upload success to show loading in editor
- fix duplicate url field for images outside of editor when there is no file storage
2015-06-23 13:14:04 +01:00
Jason Williams
40a176c772 Fix up editor/preview scroll and post list loading
Refs #5381
- Invoke this._super() so mixed in lifecycle hooks run.
2015-06-22 11:35:17 -05:00
John O'Mahoney
c288bdf7ee Removes whitespace issue that was preventing grunt init from working
closes #5454
- removed the second email therefore removing whitespace issue
2015-06-19 19:43:53 +01:00
Hannah Wolfe
7e80668c2a Merge pull request #5452 from jaswilli/issue-5450
Always get latest post from API when editing
2015-06-19 15:04:22 +01:00
Jason Williams
ce7de27df9 Merge pull request #5451 from cobbspur/userRoutes
Move users routes out of settings & change to team
2015-06-18 14:20:06 -05:00
cobbspur
2048110167 Move users routes out of settings & change to team
issue #5434

- move users routes/views/controllers out of settings
- rename users team
- update nav-menu.hbs
- remove legacy routes
- fix up tests
2015-06-18 19:46:46 +01:00
Jason Williams
6d63ee4451 Always get latest post from API when editing
Closes #5450
- No longer provide the edit route a model when transitioning from the
  posts list/content screen and no longer check to see if a copy of the
  post already exists in the store from the model hook.
2015-06-18 11:53:40 -05:00
Kevin Ansfield
d9cd5df643 Provide a more intuitive error message on sign-in for missing email
issue 4651#issuecomment-112141801
- display "Please enter an email" validation message rather than "Invalid Email" when no email is entered
2015-06-17 22:56:38 +01:00
Hannah Wolfe
8129b4d677 Merge pull request #5442 from JohnONolan/noposts-fix
Fixes alignment bug on content management empty state
2015-06-17 22:40:06 +01:00
Kevin Ansfield
a9719f4287 Display correct minimum character count in setup's password field
issue #5314
- replace 7 (incorrect) with 8 (correct) in setup's password field placeholder text
2015-06-17 21:50:47 +01:00
Jason Williams
c765acb849 Merge pull request #5445 from cobbspur/canHelper
Hide Nav Settings based on permissions
2015-06-17 14:47:15 -05:00
cobbspur
493adb2999 Hide Nav Settings based on permissions
closes #5403

- adds gh-user-can helper to group user by minimum permissions
- hide Nav settings menu for users below admin level
2015-06-17 19:20:57 +01:00
John O'Nolan
90426f4784 Fixes alignment bug on content management empty state
When buttons changed to flexbox they lost some alignment properties. This change makes the container for the empty content state use a flexbox container and align its containing items correctly. Also removes some old media queries which are no longer needed.
2015-06-17 14:41:29 +01:00
Kevin Ansfield
d78f2611b6 Ensure settings routes redirect to /signin when not authenticated
closes #5412
- call this._super() in beforeModel hooks so that simple-auth can handle the transition before we hit any protected API endpoints
2015-06-17 00:24:01 +01:00
John O'Nolan
33bcaeff66 Fix signin form width bug
No issue. Fixes bug where signin form was not expanding to its full width as a result of some earlier global changes. This sets an explicit fluid width with a max-width fallback so that it's always the correct size.
2015-06-16 09:58:56 +01:00
Austin Burdine
45f3c513d5 removes usage of prototype extensions
No issue
- removes more usage of function prototype extensions in favor of Ember functions
- replaces some event calls with the direct function name
- adds comments to functions replaced with the event name
2015-06-15 14:07:25 -04:00
Jason Williams
3448dcc8c5 Merge pull request #5408 from novaugust/cleanup-mobile-views
Remove legacy mobile view code
2015-06-14 17:59:44 -05:00
Jason Williams
ee23c87df9 Merge pull request #5414 from novaugust/zelda-menu-continued
Zelda menu z-index and viewport transition finishes
2015-06-14 17:57:35 -05:00
Matt Enlow
e7e30a67ea Remove legacy mobile view logic
No issue
- Move editor-base-view mixin into editor/edit view
- Also deletes mobile views and modifies files that were using it
- Helps pave the way for Ember 2.0, where views do not exist
2015-06-14 14:42:21 -07:00
Matt Enlow
d37a51fb90 Zelda menu z-index and viewport transition finishes
- [x] Mobilemenu button is missing from `content` and `editor` views
- [x] Mobilemenu pane slides entire content over, should expand over-top-of-content
- [x] Mobilemenu can't be closed
- [x] gh-view-title no longer generates an extra div; it is the h2.
- [x] gh-autonav-toggle closes the mobile menu on mobile. renamed `gh-menu-toggle`
- [ ] There is weird behaviour with mobile menu when changing from big=>small=>big viewport sizes
- ~~[ ] (Future issue) Ghost should remember (localstorage?) whether desktop menu is expanded or collapsed~~
2015-06-14 13:57:09 -07:00
John O'Nolan
f86ff53a84 Fix a wholelotta setup-screen bullshit
Merging setup screen into the new app wrapper had some knock-on effects due to new flexbox parent elements. As a result things were vertically collapsing in unexpected ways on narrow viewports. This is cleaned up here, with some other minor visual bugfixes.
2015-06-10 19:49:50 +01:00
Joe Wegner
22bbc3bd75 invite users after signing up during setup
closes #5338
- moves skip link to below the submit button
- makes the submit button better represent form status
- posts notifications based on success/failure of notifications
- goes to the invite page after user creation
- actually sends invites!

functional tests passing for onboarding invitations

cleanup for linitng

remove unreachable return

access the notifications service better

use link-to instead of an anchor with an action

failed user creations get caught, and bubble as errors

a slew of other cleanup stuff via jason
2015-06-09 11:50:24 -07:00
John O'Nolan
044d61745c Refactor Zelda dropdown styles
- New styles for dropdowns
- Fix minor tag-delete button bug
- Fix minor alignment bug on invite-user modal
- Update "about ghost" icon
2015-06-09 11:06:35 +01:00
Jason Williams
0ffbc1da71 Merge pull request #5368 from novaugust/zelda-mobile-nav
Zelda mobile nav
2015-06-08 23:47:56 -05:00
Jason Williams
c55f760037 Swap in new action 2015-06-08 23:11:48 -05:00
Matt Enlow
380ada8aaa Remove dead toggle preview actions
Ref #5384
- Removes "togglePreview" actions from template (the action itself was removed in 5384)
2015-06-08 13:29:16 -07:00
Matt Enlow
753da0231f Add mobile menu open button and close on click outside nav
- Adds gh-view-title component to implement mobile menu button for titles on any page
- Refactors the `content-cover` out into the application template
- Fix various z-index issues with content-cover and gh-alert
- Move `.settings-menu-expanded` application view state from body to `.gh-viewport`
- Unify nav menu / mobile menu actions and code
2015-06-08 22:13:34 +02:00
John O'Nolan
f1621d7144 New mobilemenu prototype 2015-06-08 22:13:34 +02:00
Jason Williams
dfceb5759f Merge pull request #5382 from acburdine/embercli-update
Update Ember-CLI to 0.2.7
2015-06-08 14:04:17 -05:00
Hannah Wolfe
fff349a6be Merge pull request #5384 from JohnONolan/zelditor
Content management & editor refactor
2015-06-08 16:22:29 +01:00
Hannah Wolfe
2deb36f428 Merge pull request #5404 from JohnONolan/zerrors
Fixup broken error page styles
2015-06-08 14:57:56 +01:00
Austin Burdine
8332201026 updates Ember-CLI to 0.2.7
No issue
- moves the authentication initializer to be an instance initializer
- updates dependencies
- fixes error with asset-delivery not copying
- fixes problem with testing by re-building ember before casper tests
2015-06-08 09:18:50 -04:00
Hannah Wolfe
70b983e167 Merge pull request #5374 from JohnONolan/betterflex
Better flexbox grids
2015-06-08 12:33:06 +01:00
John O'Nolan
8a98e1c337 Fixup broken error page styles 2015-06-08 12:14:58 +01:00
John O'Nolan
636390b58e Content management & editor refactor 2015-06-05 13:58:00 +01:00
Hannah Wolfe
0b0b60163b Merge pull request #5386 from acburdine/focus-fix
Fix autofocus on post edit
2015-06-05 13:47:01 +01:00
Jason Williams
c1adf0b94f Fix call to this.notification
Refs #5351
- Injected services need to be accessed via .get().
2015-06-04 00:02:03 -05:00
Austin Burdine
eb4c555e49 fixes autofocus on post edit
closes #5383
- sets the default focus of the editor component to false
- removes the check for model.isNew in editor controller
2015-06-03 12:01:32 -06:00
Austin Burdine
c5535e0a1b update Ember to 1.12.1/ember-data to 1.0.0-beta.18
No issue
- fixed "{{#each}}" helper in templates to use block syntax
- fixed deprecated ember.controller getter/setter function to use new syntax
- removed unnecessary pass-protect route view
2015-06-02 22:26:16 -06:00
John O'Nolan
73d3bf53c7 Merge pull request #5318 from acburdine/private-form
Rewrite default private.hbs for new zelda styles
2015-06-02 10:54:59 +01:00
John O'Nolan
9a5515133b Better flexbox grids 2015-06-02 10:19:35 +01:00
Hannah Wolfe
9d10e76fec Merge pull request #5306 from acburdine/remove-email
Removes "email" from settings
2015-06-02 09:44:21 +01:00
John O'Nolan
901837764c Add theme selector, update package mgmt styles 2015-05-30 23:12:40 +01:00
Austin Burdine
806ec5213c rewrites default private.hbs for new zelda styles
closes #5073
- changes format to match new zelda layout
- modifies the input_password helper to allow customization of class & placeholder
2015-05-29 06:25:32 -06:00
John O'Nolan
85de7b48c7 First pass theme management page 2015-05-29 13:01:28 +01:00
Jason Williams
def2e8e146 Fix up new setup code
No issue
- Prevent download count ajax request from running forever, even after setup is complete.
- Remove unneeded setup routes and controllers.
- Refactor to use ES6-imported ajax.
- Refactor to use injected services.
2015-05-27 15:10:47 -05:00
Sebastian Gierlinger
3c2a625e07 Merge pull request #5316 from ErisDS/onboarding-zelda
First pass at user onboarding screens
2015-05-27 17:23:40 +02:00
Jason Williams
71c358b638 Use Ember.inject instead of needs and initializers
No Issue
- Switches to the newer style of dependency injection.
- Instead of injection Controllers via "needs," use
  Ember.inject.controller().
- Get rid of initializers that were only injecting objects
  into various factories. Converts these objects into Ember.Service
  objects and declaratively inject them where needed via
  Ember.inject.service().  The added benefit to this is that it's no
  longer a mystery where these properties/methods come from and it's
  straightforward to inject them where needed.
2015-05-27 07:41:42 -05:00
Matt Enlow
f8f0666b01 Merge pull request #5348 from jaswilli/es6-ajax
ES6 module version of ic-ajax instead of global
2015-05-27 09:34:00 +02:00
Jason Williams
02526cbd6d ES6 module version of ic-ajax instead of global 2015-05-26 22:13:25 -05:00
Jason Williams
bff994bf7c Clean up Ember router map
No Issue
- Switch resources to routes.
- No longer nest "settings" routes so the router reflects
  the way the templates are rendered.
- Remove renderTemplate override from settings routes.
- Remove unneeded routes, controllers, and views.
- Adjust users page so that infinite scroll loading of users works
  and markup remains the same for Zelda styling.
2015-05-26 16:12:12 -05:00
cobbspur
c2f2e96060 Nuke nprogress
closes #5328

- removes all references to nprogress and loading indicator
2015-05-26 19:24:32 +01:00
Hannah Wolfe
5211538ec8 Merge pull request #5332 from cobbspur/route
Fix route for About page
2015-05-25 18:37:45 +01:00
Hannah Wolfe
3d5fc7adba Merge pull request #5319 from jaswilli/nav
Refactor main nav menu into components
2015-05-25 18:37:37 +01:00
John O'Nolan
8aa68b2acf First pass on app management UI 2015-05-25 17:48:14 +01:00
Hannah Wolfe
3ad2115b40 First pass at user onboarding screens
refs #5315

- split setup into 3 screens
- add gravatar fetching
- add download counter
- add button handling for invite users
2015-05-25 17:43:12 +01:00
cobbspur
2515a8769e Fix route for About page
No Issue

- Routes,  views and controllers updated for about page
- fix up tests and add redirect check
2015-05-25 17:06:17 +01:00
John O'Nolan
79f90c1d27 Refactor blog-navigation settings screen
- Better markup
- Cleaner CSS
- Fixed icon implementation
- New grab handle icon
- Better mobile styles
2015-05-25 14:23:49 +01:00
Hannah Wolfe
33444fe09c Merge pull request #5326 from JohnONolan/close-icon-colour
Fix modal close icon colours
2015-05-24 22:28:31 +01:00
John O'Nolan
fa8b0542ce Fix modal close icon colours 2015-05-24 21:03:55 +01:00
John O'Nolan
bc9a44eaf6 Fix up gh flow icons
- check
- back button
- various minor fixes
2015-05-24 20:44:09 +01:00
Jason Williams
fb0946b791 Fix export db link and access token parameter
Refs #5310
- Access token is now stored at session.secure.access_token.
2015-05-24 10:05:45 -05:00
Jason Williams
c8323e36ff Refactor main nav menu into components 2015-05-24 01:42:59 -05:00
Austin Burdine
b826a31799 remove settings email
closes #5299
- removes settings/general email field from both client and server side
- fixes tests to reflect removal of email
2015-05-22 15:23:31 -06:00
Jason Williams
4ad1c59a74 Update to simple-auth 0.8
No issue
- ember-simple-auth@0.8.0-beta.2.
- Switch from SimpleAuth global to ember-cli-simple-auth and
  ES6 imports.
- Refactor controllers to handle changes in 0.8.
- Introduces a new initializer to override some configuration
  items that are set in environment.js but need to be set with
  information that's only (easily) available at runtime.
2015-05-22 15:21:46 -05:00
cobbspur
7fbd9f84e6 Fix-up remaining functional tests
No Issue

- signup, signin and setup tests
- fixup other files for code styles
2015-05-22 20:13:54 +01:00
Jason Williams
4369727cd6 Handle password reset from signin page 2015-05-22 19:05:18 +01:00
John O'Nolan
ca21e055be Fix z-index bug on notifications 2015-05-22 19:05:18 +01:00
Austin Burdine
70f6b2bf3f fixed notification components 2015-05-22 19:05:17 +01:00
Jason Williams
c0b3c8c401 Rework signin form so correct actions are fired 2015-05-22 19:05:17 +01:00
cobbspur
e6ae302aca Fix image uploader and update tests
No Issue

- fixes removal of url link on image uploader
- fixes functional tests for editor and content
2015-05-22 19:05:17 +01:00
John O'Nolan
b92314904b Minor visual fixes 2015-05-22 19:05:16 +01:00
John O'Nolan
ac24592855 Implement autonav 2015-05-22 19:05:16 +01:00
Joe Wegner
19ccc32b9a setup the basic css structure for the slider nav menu
- toggles the persistent sidenav under the open-nav class
- adds a toggle/hover bar to the side of the sidenav that shows the nav
  on hover
2015-05-22 19:05:16 +01:00
cobbspur
0fd9b52b62 Add UI link classes
No Issue

- Adds contextual classnames to Nav Bar links
- Various test updates

TODO
- Increase test coverage for new admin UI
- Fix up Caspertests for new Admin UI
2015-05-22 19:05:15 +01:00
John O'Nolan
1474702338 Update icons, remove old navbar file 2015-05-22 19:05:15 +01:00
John O'Nolan
5592d5bb0d Refactor about page 2015-05-22 19:05:15 +01:00
John O'Nolan
179d71f0e1 Remove extra ember container 2015-05-22 19:05:14 +01:00
cobbspur
be794822a4 Initial fixes for tests on Zelda branch
No issue

- Adds embers declaration
- Removes duplicate class in code injection
2015-05-22 19:05:14 +01:00
John O'Nolan
68fa1fb32a Fix uploader styles 2015-05-22 19:05:14 +01:00
John O'Nolan
44a14ea22d Fix splitbuttons, add more icons 2015-05-22 19:05:13 +01:00
John O'Nolan
cd8b62a7fa Introduce new notification and alerts components 2015-05-22 19:05:13 +01:00
John O'Nolan
c172df0320 Properly scope editor title, fix bug overriding content mgmt 2015-05-22 19:05:13 +01:00
John O'Nolan
711d5e9851 Strip old MQs 2015-05-22 19:05:12 +01:00
John O'Nolan
7b29d81636 Remove double border 2015-05-22 19:05:12 +01:00
John O'Nolan
3c3360c4f0 First pass new notification component 2015-05-22 19:05:12 +01:00
John O'Nolan
9798a012f3 Fix lock icon class 2015-05-22 19:05:11 +01:00
John O'Nolan
ff8868da75 Get rid of forgotten PW route 2015-05-22 19:05:11 +01:00
John O'Nolan
24a90947d5 Integrate new auth styles into core 2015-05-22 19:05:11 +01:00
John O'Nolan
21d598b6e0 Introduce CSScomb 2015-05-22 19:05:10 +01:00
John O'Nolan
8f9f7a9b5e Cleanup CSS code style 2015-05-22 19:05:10 +01:00
John O'Nolan
a80796e4bf New button component 2015-05-22 19:05:10 +01:00
John O'Nolan
040593ab3b Disable user selection by default 2015-05-22 19:05:09 +01:00
John O'Nolan
a03c7df599 Convert Sass to Myth 2015-05-22 19:05:09 +01:00
John O'Nolan
d3527bba7f Cleanup. 2015-05-22 19:02:10 +01:00
John O'Nolan
fbfc1f1243 Remove extends 2015-05-22 19:02:09 +01:00
John O'Nolan
e7b07895e2 First pass - strip mixins 2015-05-22 19:02:09 +01:00
John O'Nolan
6972271dd6 Move in new icons 2015-05-22 19:02:09 +01:00
John O'Nolan
2adba97086 Dem colours 2015-05-22 19:02:08 +01:00
John O'Nolan
c8686491f6 Much fix 2015-05-22 19:02:08 +01:00
John O'Nolan
94876633b8 Clean up borders 2015-05-22 19:02:08 +01:00
John O'Nolan
d208d51fcf Lighten up publish bar 2015-05-22 19:02:07 +01:00
John O'Nolan
3d996e037d Cleanup 2015-05-22 19:02:07 +01:00
Austin Burdine
66d09de8de fix users template rendering 2015-05-22 19:02:07 +01:00
Austin Burdine
3b4a293f84 fixed extraneous div tag 2015-05-22 19:02:06 +01:00
John O'Nolan
3e668f5125 Content view 2015-05-22 19:02:06 +01:00
John O'Nolan
13a96605d4 New settings headers 2015-05-22 19:02:06 +01:00
John O'Nolan
1802442d40 Integrate new admin frame 2015-05-22 19:02:05 +01:00
John O'Nolan
1d3a0366c2 New onboarding markup and styles 2015-05-22 17:50:13 +01:00
Hannah Wolfe
1142561532 Improve config-parser JSON handling
closes #5294

This improves a hack for parsing JSON to be more robust.
Now attempt to parse JSON, and if it's not possible it will fallback to treating the value is a string,
reverting the behaviour to what it would have been if we didn't have JSON parsing here.
2015-05-21 09:28:05 +01:00
Hannah Wolfe
9a9fbd906a Use absolute frontend URL in admin
closes #5288

- use the config.blogURL as the frontend URL from the admin
- we know this is given to us without a trailing slash, so it's 100% safe to hard code this
- TODO: make all of the url generation a lot nicer i.e. #1833
2015-05-20 21:45:19 +01:00
cobbspur
b72338840d Update help link to point to slack
No Issue

- changes link from forum to slack on about page
2015-05-15 17:11:24 +01:00
Jason Williams
26e5dc11eb Merge pull request #5265 from ErisDS/private-blog-theming
Theming updates for password protection
2015-05-13 15:39:22 -05:00
Hannah Wolfe
199ec56ef0 Merge pull request #5262 from hex337/fix-5248-set-post-date
Allow setting a post date using a single digit day.
2015-05-13 20:06:16 +01:00
Hannah Wolfe
16774503ac Theming updates for password protection
refs #4993, #5073

- Removed nonexistent helpers siteDescription and bodyClass from admin templates
- Changed password.hbs to private.hbs to match the route name
- added a new input_password helper for rendering the password input with the correct properties
- removed the forward input as this can be handled via urls only
- moved 'private' to routeKeywords
- added 'private' context
- minor update to text next to the password in settings
2015-05-13 19:48:24 +01:00
Hannah Wolfe
0175258716 Fixing lint error causing build to fail 2015-05-13 18:07:38 +01:00
Hannah Wolfe
73739f2748 Merge pull request #5256 from acburdine/passprotect2
Take password protection out of labs
2015-05-13 17:52:50 +01:00
Hannah Wolfe
ac01437cf2 Merge pull request #5197 from PaulAdamDavis/new-upgrade-notifications
Move upgrade notification to /settings/about/
2015-05-13 16:47:46 +01:00
Jason Williams
0fb137e94d Merge pull request #5268 from ErisDS/issue-5258
Fixing 'undefined' issue with ghostPaths.url.join
2015-05-13 10:16:39 -05:00
Hannah Wolfe
2124e95e54 Fixing 'undefined' issue with ghostPaths.url.join
closes #5258
2015-05-13 15:08:04 +01:00
Harry Hope
e67625c283 move notifications inside main div 2015-05-12 16:35:21 -07:00
Alex Kleissner
0222feb41c Allow setting a post date using a single digit day.
closes #5248
- added new valid formats for the date formatter
- only the date formats where a single digit day makes sense were
changed
2015-05-12 15:42:02 -07:00
Austin Burdine
ed9fdbca7f finish up password protection
closes #5073
- takes password protection out of labs and moves it to general settings
- adds random-words generator to randomly generate passwords
2015-05-12 12:02:18 -06:00
David Balderston
19bdb64efc Fix up Labs Styling
No Issue

- Fixes import button not same height as upload button
- Fixes no space between import and upload on mobile
2015-05-11 23:12:31 -07:00
John O'Nolan
c4cc5d5b8d First styles for private blog login 2015-05-11 13:11:59 +01:00
Jason Williams
398a1b28ba Do not allow auto-save to publish a post
Refs #5235
- Do not allow background saving (i.e. post auto-save) to affect the
  published status of a post.
2015-05-10 15:22:53 +00:00
Robert Jackson
00bbf070b2 Only attempt to scrollTop if element is available.
In later versions of Ember, the views and components can be stable
and are not guaranteed to be torn down before a new controller is
set on them.

In this case, the controller is initially set before the element has been
rendered to the DOM causing errors when invoking `closest` on undefined.
2015-05-05 19:05:36 -04:00
Robert Jackson
3c5df473d1 Replace gh-blog-url helper with a component.
Accessing `this` inside an `Ember.HTMLBars.makeBoundHelper` will not
always return the containing `view` object. Instead, use a component.
2015-05-05 14:40:18 -04:00
Hannah Wolfe
c4a1ae2107 Merge pull request #5208 from Artie18/master
Fixed issue with word count for non ASCII letters.
2015-05-03 18:23:33 +01:00
Artyom Fedenko
2687def400 Added support for all letters in word-count (not only ASCII) and added xregexp bower module to a project 2015-05-02 22:56:33 +03:00
Hannah Wolfe
83a7c6626a Merge pull request #5103 from acburdine/passprotect
Password Protection
2015-05-02 15:14:00 +01:00
John O'Nolan
e9dbf972af Merge pull request #5196 from PaulAdamDavis/minor-code-injection-fixes
Code injection syntax colour change
2015-05-01 15:50:14 +02:00
John O'Nolan
bd44e464a7 Update preview post link styling, add view post link 2015-05-01 12:19:25 +02:00
Austin Burdine
54a4225d1b added password protection
closes #4993
- brings password protection to the frontend of blogs
- adds testing for password protection
- upgrades bcrypt-js to 2.1.0
2015-04-30 23:44:43 -05:00
Jason Williams
ae0d2fce1d Upgrade grunt-jscs to fix whitespace linting.
No issue.
- grunt-jscs@1.8.0
- Fix formatting
2015-04-30 16:14:19 -05:00
Matt Enlow
e50a1157fa Add post preview via uuid (/p/:uuid)
Refs #5097

- All drafts will show a preview link (this needs real css)
- Published posts will redirect
- prev/next post helpers only activate on published posts
- Powered by ~10 pints between the two of us (@ErisDS, @novaugust)
2015-04-30 11:57:37 +01:00
Paul Adam Davis
1dfc1ecca3 Move upgrade notification to /settings/about/
Refs #5071

- Move the Upgrade notification from the top of the screen to the About page
2015-04-29 22:34:04 +01:00
Paul Adam Davis
d83b8c7b55 Code injection syntax colour change
Closes #5179

- Overwrites the yellow code injection syntax highlighting (such as vendor prefixes in CSS) to be black, to match the rest of the property
- Adds rounded corners to the code injection CodeMorror wrapper to match its parents rounded corners (inherits the same value)
2015-04-28 16:35:14 +01:00
Hannah Wolfe
e4616f6840 Avoid infinite transition loop
fixes #5136

- wrap notification fetch with a user role check to remove console error
- move author transition down to local route for users/user so that there's no infinite loop
- replace all store calls to fetch the current user with the session user instead
2015-04-16 20:05:30 +01:00
Paul Adam Davis
f8696575a0 Show correct type in publish button
Closes #5138

Shows the correct type (post or page)  in the publish button
2015-04-15 11:13:38 +01:00
Hannah Wolfe
8f354ddbc2 Don't do autosave on new post
closes #5130

- rather than checking for a model change, noop autosave on new controller
2015-04-11 17:42:44 +01:00
Hannah Wolfe
7a5a9eed69 No more feature flag for Code Injection
closes #1993

- remove the feature/config flag that means code injection has to be enabled
2015-04-09 17:52:41 +01:00
Hannah Wolfe
1162b72acb Merge pull request #5122 from JohnONolan/settings-cleanup
Cleaned up some derpy settings padding and widths
2015-04-09 16:17:43 +01:00
John O'Nolan
f495a636ff Merge pull request #5075 from PaulAdamDavis/top-notifications
Re-implement top notification position styles
2015-04-09 17:52:12 +03:00
Hannah Wolfe
8773d02b1a Merge pull request #5121 from novaugust/pagination_controller_mixin_fix_#5120
Fix typofail in pagination-controller mixin
2015-04-09 15:36:42 +01:00
John O'Nolan
589d5dcc73 Add labs description 2015-04-09 16:14:50 +02:00
John O'Nolan
d6ef8bcc4a Cleaned up some derpy settings padding and widths 2015-04-09 15:59:17 +02:00
Matt Enlow
4dc9abb670 Fix typofail in pagination-controller mixin
Closes #5120
2015-04-09 07:56:08 -06:00
Hannah Wolfe
e0369d207f Merge pull request #5119 from novaugust/preview_link_subdir
Use absolute url for post preview link
2015-04-09 10:21:30 +01:00
Matt Enlow
406c8aa883 Use absolute url for post preview link
Closes #5116
- adds new CP `absoluteUrl` to PostModel
- use `absoluteUrl` in the two places we link previews
- swap out some code for es6 loveliness
2015-04-08 18:58:52 -06:00
Matt Enlow
56c691f93e Normalize settings payloads in client serializer
Closes #5117
2015-04-08 13:03:56 -06:00
Paul Adam Davis
d5715549f0 Re-implement top notification position styles
References #5071

- Re-implements the previously broken top notification styles
- Moves the top notification outlet outside the `<main>` to ease styling (we have several nested position fixed/absolute boxes that make this tough - moving the outlet makes it easier)
2015-04-07 18:36:03 +01:00
Hannah Wolfe
2cdee13895 Merge pull request #5094 from novaugust/ember-1.11
Update to Ember 1.11(.1!)
2015-04-07 11:12:34 +01:00
Hannah Wolfe
703906e983 Merge pull request #5106 from acburdine/ghost-cm-editor
Added code editor to injection interface: the sequel (this time, with CodeMirror!)
2015-04-06 19:33:18 +01:00
Matt Enlow
3b5c7f634b Ember 1.11.1
- remove `bind-attr` all over the place
2015-04-05 21:13:30 -06:00
Hannah Wolfe
b8c81c0316 Merge pull request #5046 from novaugust/autosave-cleanup
Autosave by observing model.scratch in editor
2015-04-05 23:12:38 +01:00
Austin Burdine
ee685e448a add code editor component
closes #4995
- adds code mirror editor component
- converted code-injection editor fields to gh-cm-editor component
2015-04-05 11:57:18 -05:00
Hannah Wolfe
dc69d28404 Merge pull request #5098 from novaugust/view-post-link
Add link to published posts preview on content page
2015-04-05 14:41:07 +01:00
Jason Williams
42756b5f44 Merge pull request #5085 from ErisDS/improved-forgotten
Improve the forgotten password flow
2015-04-03 13:40:16 -05:00
Hannah Wolfe
60937e8ccc Improve the forgotten password flow
- if the user has filled out their email already when they hit 'forgotten password' then automatically  fill out and submit the form
- this will look better when we have spinners on the buttons
2015-04-03 17:32:18 +01:00
Matt Enlow
cd41fdd653 Add link to published posts preview on content page
Ref #1756
- the word "Published" in "Published by {{author}}" now links to the post's front page
2015-04-03 09:51:53 -06:00
Matt Enlow
4d1660e546 Autosave by observing model.scratch in editor
No issue
- removes keypress handling in the editor component
- automated value changes via shortcuts still autosave
2015-04-02 17:06:00 -06:00
Paul Adam Davis
f6389f5d3f Re-add X icon
No issue

The `icon-x` class got messed up when I attempted to dry up our icon code in both https://github.com/TryGhost/Ghost/pull/4948 and 35b3d92c74. All that was left was an `x` in the file.

This adds that class back, so the `icon-x` icon works again.
2015-04-02 10:42:32 +01:00
Paul Adam Davis
57764cc046 Add version to font-face src url
Closes #5034

- Added `?v=0.1' to the font file URL to force a refresh of any old files with the same name
2015-03-31 10:32:31 +01:00
John O'Nolan
bf1d9c872b Font feature settings are incompatible with Open Sans 2015-03-27 12:26:16 +02:00
John O'Nolan
86b569296f Update monospace font stack
Closes #4936
2015-03-22 09:45:50 +02:00
Matt Enlow
8fe5a47410 Merge pull request #5026 from felixrieseberg/iss4978
Fix broken keyboard navigation in PSM
2015-03-17 12:54:39 -06:00
Felix Rieseberg
60d01d1411 Fix broken keyboard navigation in PSM
Closes #4978

- If we’re not in the subview (meta data) of the PSM, we don't display the html for said subview.
2015-03-17 11:52:48 -07:00
Pascal Borreli
f17dbfc6f0 Fixed typos 2015-03-17 17:43:53 +00:00
Paul Adam Davis
c5ffd408c2 Textarea Editor CSS Improvements
References https://github.com/TryGhost/Ghost/pull/4373

* Consistent line-height & padding cross-browser
* Remove drag handle from textarea
* Partially clean up the CSS to more closely match the new standard
2015-03-17 14:32:55 +00:00
Hannah Wolfe
2f8de51d67 No more CodeMirror
closes #4368, fixes #1240 (spellcheck), fixes #4974 & fixes #4983 (caret positioning bugs)

- Drop CodeMirror in favour of a plain text area
- Use rangyinputs to handle selections cross-browser
- Create an API for interacting with the textarea
- Replace marker manager with a much simpler image manager
- Reimplement shortcuts, including some bug fixes
2015-03-17 14:32:55 +00:00
Matt Enlow
082c437fff Serve files to core/built/assets/
- see core/client/lib/assets-delivery/index.js for how this is done
- Turn off ember-cli fingerprinting
- ember-cli 0.2.0; Update .npmignore
- Fallback to old version of ember-cli-sass due to lib-sass errors
- Keep ember-data at beta-14.1 until we find the dep that's breaking on snapshot.attr
- Fix release task to ignore blank lines in .npmignore
2015-03-12 15:59:02 -06:00
Matt Enlow
48740722ee Remove client/docs 2015-03-11 12:37:42 -06:00
Jason Williams
b9c7f8e6c2 fix routes test. ember-mocha@0.4.2 2015-03-11 12:37:42 -06:00
Matt Enlow
e9a964362f grunt init, dev
- added grunt-bg-shell
- reorganized asset tasks into one location
- turn off ember-cli analytics
- remove app/config-dev and config-prod
- remove qunit from bower.json
- remove express from package.json
2015-03-11 12:37:41 -06:00
Matt Enlow
0bc879edbe Build assets with ember, and serve with ghost 2015-03-11 12:37:41 -06:00
Matt Enlow
6d80907c99 Ember init, bower deps, es6 modules 2015-03-11 12:37:41 -06:00
Matt Enlow
589a563b30 The great migration (EAK -> ember-cli) 2015-03-11 12:37:41 -06:00