Commit Graph

83 Commits

Author SHA1 Message Date
Jason Williams
42d8e82c13 Prevent silent failures and recover after error.
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.
2014-11-30 20:38:24 +00:00
Matt Enlow
26268d7667 Tags management api hookup
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
2014-11-21 16:24:28 -07:00
Matt Enlow
4394e4f38f Fix high latency autosave bug in editor.new
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
2014-11-16 08:53:02 -07:00
Matt Enlow
f97800dad1 Save meta title and meta desc on post save
Closes #4369
- Renamed `editor-route-base` -> `editor-base-route` to bring it in alignment with the view and controller mixins
- Consolidated editor route code into editor-base-route
- Removed `serialize` from EditorEditRoute, as it reimplemented the ember default
2014-11-03 21:11:04 -07:00
David Robson
f8faa8902b Editor must be focused before allowing certain keyboard shortcuts.
closes #4253
- checked for the CodeMirror-focused class on the CodeMirror div
- used length to determine whether CodeMirror-focused has been added
- determines whether the editor has been focused on
2014-11-02 09:50:42 +00:00
Hannah Wolfe
fc8d9c07d8 Merge pull request #4324 from jaswilli/timed-save
Auto-save post at 60 second intervals
2014-10-27 17:38:54 +02:00
Jason Williams
0e9d4e6792 Enable JSCS checking on client.
Refs #4001
- grunt-jscs@0.8.1 which provides ES6 support.
2014-10-25 16:13:04 +00:00
Jason Williams
b4e3ac34cd Fix up PR #3491, remove lodash from admin
Refs #3491
2014-10-23 19:44:53 +00:00
Robert Jackson
936acdb693 Remove lodash from admin client.
* Adds `bind`, `isFinite`, and `isNumber` utility functions from lodash.
* Use new util funtions instead of lodash throughout the codebase.
* Remove lodash from vendor builds.
2014-10-23 18:27:09 +00:00
Jason Williams
75c3a0defd Auto-save post at 60 second intervals
Refs #4259
- Auto-save the post at least once in any 60 second interval where
  there have been changes.
2014-10-22 15:26:27 +00:00
Jason Williams
108622d4ed Ensure slug generation has completed prior to save
Refs #4307 Refs #4259
- Make sure that a slug has been generated prior to the first
  save that occurs on a post.
- Wait on in-flight slug generation requests before saving.
2014-10-20 19:15:01 +00:00
Jason Williams
133aff0626 Cancel pending auto-save if manual save occurs
Closes #4309
2014-10-20 18:40:45 +00:00
Hannah Wolfe
768e335735 More autosave improvements
issue #4305, issue #4259, issue #1413

- change new->edit transitionToRoute to be replaceRoute
- auto focus in the editor on transition to the edit route
- change the one-time autosave to happen on codemirror focusin instead of title focusout
- re-add removed tests, and reorder broken test
2014-10-18 17:27:05 +02:00
Jason Williams
0f9342bf69 Auto-save changes
Refs #4259
- Auto-save new post when title loses focus.
- If a post has '(Untitled)' for a title, regenerate slugs
  on all title changes--same behavior as a new post that does
  not yet have a slug.
- Adjust some functional tests to handle the automatic transition
  from editor/new to editor/editor and the URL changes that go
  along with it.
2014-10-17 22:52:43 +00:00
John O'Nolan
d13a995ecb Merge pull request #4303 from ErisDS/pr-4259
Autosave additions
2014-10-17 23:59:19 +02:00
Hannah Wolfe
3f5b0f75e2 Autosave additions
issue #4259, issue #1413

- decrease timeout by 1 sec
- really actually turn off nprogress
2014-10-17 18:39:39 +02:00
Hannah Wolfe
a2b7fe718b Merge pull request #4259 from novaugust/auto-save
Auto save draft posts
2014-10-17 19:04:07 +03:00
Paul Adam Davis
63b59c2574 Remove console.error from shortcuts-route mixing
No issue

Safari (iOS 8 & OS X Yosemite) throws a massive hissy fit about `console.error` and goes on to break all the things.
This PR simply removes it.
2014-10-17 13:41:36 +01:00
Matt Enlow
719f9246c4 Use DS.Model#eachAttribute in editor-base-controller
Closes #4279
2014-10-14 12:29:02 -06:00
Matt Enlow
98e4f95a81 Autosave Draft posts
Ref #1413
- If the user stops typing for 5 seconds, a "typingPause" action is sent from the GhCodemirrorComponent
- Editor-base-controller ties the "typingPause" action to its "autosave"
- If a post is being saved and does not have a title, the title is set to "(Untitled)"
- Cleanup editor base controller property dependencies and code
2014-10-13 15:28:27 -06:00
surgesoft
03d65c7dd0 Change keyboard shortcut context
closes #4247
- added scope to every shortcut, the scope of shortcut is default to
  'default'
- add shortcut `enter` to modal which confirm the modal
- shortcut `enter` and `esc` now have scope 'modal'
- when lunch a modal, scope is switching to 'modal', and set back to
  'default' when close
- shortcut `enter` now confirm the dialog without conflicting with route
  shortcuts
2014-10-11 02:09:12 +08:00
Paul Adam Davis
979017e780 Rename popovers to dropdowns 2014-09-30 10:48:21 +01:00
Paul Adam Davis
0f8ae45bc4 Fix flickering popover transitions
Closes #4138

- Removed JS animation to close in favour of CSS animations
2014-09-30 10:48:21 +01:00
Fabian Becker
8616a45c3c Meta data screen
closes #3939
- Add Seo Tab component to PSM
- Add new gh-blur-textarea component
- Refactor blur-input to use new text-input mixin
2014-09-21 15:13:06 +00:00
Matt Enlow
be53c7a4c9 Add Tab components
Closes #3937
- Add ghost tab components
- Remove extra container div from Application view
- Move right-outlet viewing logic to application level
- Prepare PSM.hbs for tabbing
2014-09-18 18:15:43 -06:00
Matt Enlow
815eaeabf0 Fix editor scroll depending on cursor location
Closes #4027
2014-09-14 17:38:32 -06:00
Hannah Wolfe
09faec1bae Merge pull request #3999 from novaugust/emberify-posts-c-and-v
Emberify Posts mobile transitions
2014-09-12 11:19:34 +01:00
Matt Enlow
ab7951ea16 Emberify Posts mobile transitions
Closes #3950

- Fixed up event attachment and removal in a few mixins
- Renamed content-list-content-view to something more understandable
- simplify transition from posts.index to posts.post
2014-09-10 20:58:10 -06:00
Fabian Becker
0e779e7c37 Post Settings Menu - Step 1
closes #3936
- Implement new PSM
- Hook up close action
- Automatically close when view is destroyed
- Close on click and when pressing ESC
2014-09-10 17:31:19 +02:00
Jason Williams
a67232e00e Prevent editor title from being overwritten
Closes #3955
- Change titleScratch from being bound to the title to being
  set when entering the editor so it is not overwritten on a
  model refresh.
- Ensure that the "unsaved content" dialog is shown when there are
  changes to the "scratch" fields after a post-settings-menu change.
- Add tests to prevent regression.
2014-09-04 19:27:59 +00:00
Matt Enlow
c1cae072f2 js- prefix; fix content preview back button
Closes #1990, Ref #3810
- Add `js-` prefix to jQuery calls throughout code and templates
- move MarkdownComponent classNames to template
- Fix back button on posts content preview
- Remove dead code for preview tabbing jQuery
2014-09-02 22:29:32 -06:00
Jake Wright
28884ac85d Fix markdown/preview tab for mobile
Fixes #3813

- Add togglePreview action to controller
- Implement action and bind attributes
- Remove the now pointless
- Update to comply with issue suggestions
2014-08-21 17:13:30 +01:00
Matt Enlow
fb6c3c6b56 Change Ember function.property() to Ember.computed
Closes #3417
2014-08-19 10:01:17 -06:00
Jason Williams
09ede03ce4 Revert post status on failed save.
Refs #3667, Refs #3776
- If saving a post fails, revert its status back to the
  pre-save value.
- Added tests to check post status after failed save attempt
  on both new and existing posts.
2014-08-15 00:22:10 +00:00
Robert Jackson
6990b38d5f Do not focus post title when editing. 2014-08-08 11:37:24 -04:00
Hannah Wolfe
ebe9bd214a Merge pull request #3628 from novaugust/popover-btn-binding#3603
Add open class to popover buttons
2014-08-07 19:27:46 +01:00
Felix Rieseberg
2091fadb42 Editor: Warn if title change is unsaved
closes #3643
- TitleScratch is compared with Title; if there’s a difference, we have
unsaved changes and open up the modal.
2014-08-06 20:39:19 -07:00
Matt Enlow
fa27b2a651 Add open class to popover buttons
Ref#3603
- Popover Buttons now have an `open` class applied to them when their popover is open
- The open class is removed from the popover button at the start of the popover's fadeout
- Consolidated common code into popover-mixin
2014-08-06 18:23:03 -06:00
Jason Williams
1c6216777c Refactor notifications to prevent stacking.
Closes #3511, Closes #3512, Closes #3526
- show* methods now close existing passive notifications by
  default.  They also now take an optional options object where
  existing parameters such as "delayed" and "defaultErrorText"
  can be passed in as well as the new "doNotClosePassive" flag.
- Removed all explicit calls to notifications.closePassive except
  for the few places where it makes sense to call it separately.
2014-08-01 16:57:29 +00:00
John O'Nolan
601ad25716 Shorter notifications
Basic notifications are unnecessarily verbose and, in some instances, even cause line-wrapping to occur. This change shortens them to short, concsise statements to indicate what action has taken place.
2014-07-31 19:19:47 +03:00
Matt Enlow
c93b7631d6 Keyboard shortcuts for Mac vs All
Closes #3029, Ref #3469
- Editor shortcuts are now built in a separate file, which uses `ctrlOrCmd` to correctly set OS specific shortcuts.
- Removed `newLine` and `selectWord` shortcuts
2014-07-31 08:00:52 -06:00
Alan Richards
4d074c3e55 Settings screens redirect for certain roles
Closes #3291
- Adds redirects based on roles as defined in the case
- Adds new mixin `CurrentUserSettings`
- For authors, all settings pages redirect to `users/self`
- For editors, all settings pages other than specific users redirect to `users`. Any user that is not self or an author redirects to `users`
2014-07-30 00:57:16 -07:00
Jason Williams
039f5fd693 Add a mixin for saving a subset of a model.
Closes #3403
- Add SelectiveSaveMixin so that a DS.Model can save one or more
  properties at a time while preserving other outstanding changes.
2014-07-27 21:04:35 +00:00
Maurice Williams
fb170d1725 Pagination for Users Management screen
closes #3222
- implementing server-side pagination for /users API
- passing /users?limit=none will return all users
- passing /users?status=invited will filter base on user status
- creating 3 mixins (route, controller and view) to keep pagination logic DRY
- updating route, controller and view for Posts to use new mixing
- implementing infinite scrolling for Users Management screen (using new mixins)
- Users Management screen displays all invited users, but paginates active users
2014-07-21 14:03:26 -04:00
Matt Enlow
0122ecd593 Fire NProgress on User, Post, and Settings save
Closes #3037
- Created `NProgressSaveMixin`, which extends the `save` method of a model
  to fire NProgress.
- Extended `UserModel`, `PostModel`, and `SettingModel` with the new
  mixin.
- NProgress can be disabled by passing an options hash to the save function with the `{disableNProgress:true}`
- Now that the ValidationEngine isn't the only thing playing with options inside of `model#save`, refactored it to pass the options down the super chain.
2014-07-13 14:19:27 -06:00
Jason Williams
faf6832cab Add validation to invite new user form.
Closes #3246
- Add a UserValidator to the validation engine that runs a set
  of validations based on the user status.
- Added validations for invited users and active users.
2014-07-11 19:09:34 +00:00
Matt Enlow
15f1591383 Indirect post title in editor
Closes #3179
- Add `titleScratch` property to `PostModel`.
- Changed references to `title` to `titleScratch`
2014-07-03 11:09:05 -06:00
Kevin Ansfield
f1cf98efd9 Persistent notifications
closes #3057
- add Notification model
- update injected Notifications object to handle persistent notifications
- load server notifications on setup if logged in otherwise on successful sign-in
- changed all existing notifications.closeAll calls to closePassive
- fixed dismissable/dismissible spelling in server API & tests
- add notifications.closeNotification method so DELETE calls can be made for server-originating notifications
2014-07-01 11:36:21 +02:00
David Arvelo
ac9f269085 Better handling of validation errors + more documentation
closes #3153
- this is all about the validation engine
- add a option, `opts.model`, to use a passed-in model directly if needed
- handle validators that return an array of strings, array of objects, or both
- ajax util returns either an array of errors or a single concat'd string
- remove formatErrors function from the mixin and make it private
- allow validation options to be passed into `.save()` since ember-data doesn't take params on `.save()` anyway
- streamline control flow
2014-06-30 22:35:03 -04:00
Hannah Wolfe
d4222ed87d Merge pull request #3146 from darvelo/tags-tracking
Fix tag updating on model save in editor controller
2014-06-30 16:48:27 +01:00