Closes#4379
- Moves the bottom notification outlet _outside_ the `<main>` element which allows notifications to show above the nav bar
- Removes (the now unnecessary) code which counter-positioned the bottom notifications when a Settings Menu was opened.
The way these notifications look or are positioned at various viewport sizes **has not changed**.
No Issue
- Rework the preview URL component so its implementation is
simpler.
- Add test for gh-url-preview component.
- ember-mocha@0.3.0.
- Remove unused jshint options.
Related to #4844
The newly added user image in the content list uses a CSS property to
crop `img` tags, but it's not supported in IE or Firefox. This issue
corrects that by chancing them to be background images which can be
cropped cross-browser.
It also adjusts the nav bar user image (previously an `img` tag) which
would squash a non-square image.
Also removes the border around the settings/users/ user images, to be
consistent with the rest of the UI.
Closes#4425
- Adds the author avatar (with defalt fallback)
- Shows author name when hovering the avatar (falls back to email address)
- Slightly adjusts type, colour, and spacing
No issue
The style for the URL input when uploading images are a bit broken.
This PR reduces the horizontal spacing in the settings menu uploader (to widen the input), corrects the button with black text in the editor uploader and makes sure all image upload inputs fill the container.
Closes#4766
- Adjust ValidationEngine so it no longer assumes the properties
it is validating are proxies via ObjectController.
- Fixup controllers, templates, and routes to use models where
data needs to be validated.
Closes#4768
- Notifications that used to read ‘View Post’ now read ‘View Page’ if
the post is actually a page
- The Editor Save Button now also makes a distinction between posts and
pages
Refs #4750
- Make "Feature" a Controller with promise support.
- Use via 'needs' instead of injecting from an initializer because
we need authenticated access to the API.
- Check whether feature is enabled when entering Code Injection route.
Ember.ObjectController (and Ember.ArrayController) will be deprecated in
Ember 1.11 (and removed from core in Ember 2.0). The reasoning is
detailed in the Ember 2.0 RFC.
This PR does the following:
* Updates templates/controllers/views to explicitly reference model
properties (instead of relying on proxying behavior).
* Clearly delineate where certain properties are being set or retrieved
from (for example it was not clear exactly where `scratch` and
`titleScratch` were stored).
* Remove usage of `Ember.ObjectController`.
* Add JSCS rule to prevent future PR's from adding regressions.
No issue.
* Fix indentation (it was surprisingly hard for me to grok what was happening
without indentation).
* Utilize `alternateActive` from `core/client/utils/link-view.js` to
maintain the `active` state. Observing `childViews` is deprecated (and
may not work properly in future versions of Ember).
* Remove now unused `item-view`.
No Issue
- Generalize embedded-relation-adapter so it can be used for both fetching
and saving records.
- Change Adapter inheritance hierarchy to
RESTAdapter => BaseAdapter => EmbeddedRelationAdapter. ApplicationAdapter
now extends EmbeddedRelationAdapter.
- Cleanup or remove adapters that existed just to extend directly
from EmbeddedRelationAdapter.
- Misaligned header due to back button being in the wrong place in the markup
- Corrected padding on tag delete button
- Updated tag settings input labels for consistency
No issue
The transparent border surrounding modals was being cut off.
This fix uses padding instead of adjusting the left & right valued to create space.
Issue #4683
- Finish setting up pagination in tag management page.
- Add post count warning to delete tag modal. Fix styling.
- Make sure tag input menu is loading all tags.
- Only include saved tags in tag input suggestion list.
- Unload tag records from store when entering tag route so that
we get accurate post count.
- Add a resetPagination action to pagination-controller-mixin for
cases where we want to start fresh.
- Include tag.id when sending tag payload to API.
closes#4683
- added post count to 'delete tag' modal
- fixed lint errors
- preventing extra data to be sent to server
- adjustments suggested by @jaswilli
Closes#4499
- Introduces a URL preview component
- Added the component to tag settings and post settings
- Adds a new CSS file for this component which makes sure the preview never wraps onto multiple lines
Refs #4537
Static mockup of the navigation UI
- Includes hacky JS to simulate interactions (but not dragging, which is #4540 and no modal when deleting)
- Delete & add icons have invisible padding to increase hit area
- Drag handle has the `move` cursor
- Switches into a single column at 600px and below
No Issue
- ember-data@beta.12
- ember-data now warns if a payload contains properties that do
not exist in the model. Because of this all missing model
attributes have been added (without their relationship defined)
because they're currently unused and we don't need to generate
additional API requests to resolve the async relationships.
Closes#4633
- The ‘delete’ button is now a smaller plain text link, opening a
confirmation modal analog to the delete user/post flow
- Adding a post count is dependent on #4654, but the modal is already a
neat step up from the immediate, warning-less deletion.
Ref #4651
- Manually triggering the change event ensures compatibility with
legacy password managers and browsers not properly firing events on
autofill (which leads to Ember not picking up the entered values)
No issue
- Changes Modals to use CSS-based animations
- All modals have an animation, so the option is removed from the handlebars helper
- Removes `animation` from the handlebars helper, as all had one anyway
- Removed the `centered` style - All modals should be left-aligned
- Buttons now default to being on the left
- Cleans up some styles (modal body top spacing) which #4632 helped clean up
No Issue.
- Neither of these properties should be included in the
payload sent from the client to the API. URL is a
read-only virtual property, and author_id is inserted
locally as a convenience.
Closes#2092
- Adds styling for re-auth modal.
- Prevent transition to posts route on success.
- Clear credentials from controller.
- Handle confirmAccept action if form is submitted via 'enter'.
- Only allow re-auth as the user that was previously logged in.
fixes#4356
- Added new keyPress event handler to identify keys by character instead of key
- Removed code for handling comma key from keyDown event handler
closes#1756
- adds a post url link to 'post updated' and 'post published' in editor
- adds join function in ghost paths
- adds a '/' detection to makeRoute method
- adds test for join function
closes#4624
- added user_id to password reset request
- hide old password field
- updated changePassword method to check permissions
- updated changePassword method to work without oldPassword
- fixed bug for errors shown as [Object object]
Closes#4506
Works just like the Post Cover Images (and uses the same component)
Tiny changes to the component ensures that we can reuse it across Ghost
Closes#4509, Closes#4615
- Adds meta title & meta description input fields
- Autosaves meta data
- Shows SEO preview (falling back to tag name & description if meta not supplied)
- Adds `type="button"` to delete button (which closes 4651)
closes#4516
- shortcut for ctrl/cmd+s on application level
- shortens a syntax for any route that is using 'save' method, shortcuts object doesn't have to be defined at all, only the save action.
Closes#4508
Tests for:
- Version number is a number
- Database type is an allowed 1 of 3
- There are 20 contributors
- First contributor has an image tag and image src exists, alt tag, title tag, href to github
fixes#4572
- Remove both inline and bottom footnotes from excerpt output before stripping the remaining HTML
- No more red errors, black text or bold links in codemirror, as codemirror gets confused by footnote syntax. This is a step towards the new editor which has no syntax highlighting in the editor
Refs #4578
- Match label "for" attributes with ids from the inputs they're
labeling.
- Remove extra promise generation from ghost header and footer helpers.
refs #1993
- adds ctrl/cmd+s for save
- adds config flag
- adds icon on settings page, puts items in the right order
- sorts out permissions for all settings pages with consistent configuration
fixes#4555
- There's no easy way to declare an XSL with the node xml module, so I
needed to move the declarations to both be strings
- Ideally the code to serve the XSL would also be inside the sitemap
module, but I think we need to refactor a bit to get there easily
- Added the XSL from #4559, with minor amends to make the tables and urls
display correctly
Closes#4446
- Mobile Safari doesn’t support the HTML5 `autofocus` attribute, but
also doesn’t play nice with jQuery’s `focus()` and `select()` methods.
- Mobile Safari wouldn’t automatically select the input field anyway,
so this PR simply removes the “jumping input fields” error without
changing any actual behaviour.
- Disallowing the programmatic selection of input fields (with select,
focus or similar methods) is apparently considered a feature rather
than a bug (ref http://bugs.jquery.com/ticket/12789)
- `autofocus` attribute is now only set on non-iOS devices
Closes#4557
- The underlying issue is that the PSM is already loaded when Ember
routes from an existing post to a new post. Instead of resetting the
‘Published Date’ value manually (with jQuery), I’m using Ember’s
computed property setter to ‘refresh’ the cache for that property. I
believe that this Ember solution is better than manually going in and
resetting it with jQuery.
closes#4534
- Adds new Labs route
- Wires route in settings page
- Move and rename debug templates and logic to labs
- Redirect /debug to settings/labs
Closes#4379
- Adjusts the `.viewport` `z-index` propetty to allow notificatons to sit over the nav bar
Looks like a weird fix, but inheritence of z-index was the issue here.
Refs #4543
- Check EditorController.isDirty before displaying the
authorization failed modal dialog. This prevents the modal
appearing immediately upon entering the editor in cases where
auth has failed prior to opening the editor.
Refs #4543
- Alway return model out of save handler so sub-classes which
call this._super() on save have a model on success and failure.
- Always return resolved promise out of post slug generator.
- Test the errors object in the error notification helper to avoid
throwing an unhandled exception and silently failing.
- Consider a post model "dirty" if it is in an error state.
closes#4485
- removes data attributes used on body in default.hbs
- introduces new way to generate configuration through meta tags
- config initializer consumes configurations from the meta tags using parser
- moves blog_title helper/value to be a property in a configuration api
No issue
- Consolidate extension of Ember.Router.
- Remove unneeded local jshint flags and '_' as a global.
- Cleanup client README.md.
- Fix error message.
- Every route can set a title token that is combined with the blog’s
title, resulting in titles like ‘Content - Test Blog’.
- Subroutes are supported (‘Settings - General - Test Blog’)
- The blog’s name is applied to and taken from the `config` object to
spare Ember a REST call via `store.find(‘settings’)`.
- Tests have been changed to test for the new titles.
- The initially proposed solution
(https://github.com/paddle8/ember-document-title) doesn’t play nice
with EAK, which is why I went with this solution
(https://gist.github.com/machty/8413411) by Ember.JS core dev @Machty.
Closes#4431
- The PSM does not reset on a transition from editor (existing post) to
editor (new post). If the existing post had a cover image, the image
uploader would not be reset during the transition and appear slightly
broken in the editor for the new post.
- In this PR: A reference to the uploader is saved, allowing the route
for editor/new to instruct the PSM controller to have the uploader
reset.
Ref #4248
- Added tags settings menu
- Added basic new, edit, delete, and save actions
- Show actionable edit buttons dynamically based on tag state
- Infinite scroll
- Closing the tag settings menu rollbacks your changes
- Removed not-yet-implementable code
No Issue
- Add local store lookup back to edit route.
- Prevent entry into route when an author is not the owner of a post
even if model is passed in.
- Clean up references to pagination as there's no pagination going on.
References #4248
- Updates the markup & classes for the tag management settings menu, as they've fallen behind now we've renamed the 'right-outlet' to 'settings-menu'
Closes#3998
- Scroll the active post into view on page load
- If the active post changes and the newly active post is offscreen, scroll it into the middle of the screen
Closes#4400
- Added focusCursorAtEnd property to codemirror component, to set the cursor at document end on load. Used for posts that have been edited
- centralized codemirror init code in component
Closes#4378. Closes#4455.
- Trim whitespace from tag names on entry.
- Prevent duplicate tags in suggestion list.
- Fix unhandled exception that happens when backspace is pressed in
an empty tags input box.
closes#4414
- adds `ctrl/cmd+s` shortcuts to `settings/general` screen
- adds `ctrl/cmd+s` shortcuts to `settings/user/xx` screen
- extracts `ctrlOrCmd` variable to separate module for reuse