Commit Graph

213 Commits

Author SHA1 Message Date
John O'Nolan
15144dd551 Update copyright year
To appease James Seymour-Lock
2016-01-23 17:28:17 +02: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
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
AileenCGN
9b6d1c7a36 Minor usability improvements for editor screen
closes #6318
2016-01-11 20:34:04 +02: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
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
Austin Burdine
46786e7065 deps: ember/ember-data@2.2.0 2015-11-30 12:23:47 -06: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
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
Matthew Beale
6aa171077e Properly use htmlSafe styles 2015-11-20 17:48:48 -05: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
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
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
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
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
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
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
310114715e Merge pull request #5865 from acburdine/tag-menu-charcount
Tag Settings Menu Validation
2015-10-14 11:48:30 +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
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
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
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
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
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
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
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
John O'Nolan
03f987c9e3 Improved onboarding copy, polling time, form inputs 2015-09-02 12:08:01 +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
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
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
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
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
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