Commit Graph

495 Commits

Author SHA1 Message Date
Toby Zerner
f5aa7bfefa Use component prototypes instead of instances
This means the component instance is created in the template, meaning
properties can be overridden in the view helper. It also just makes
more sense - a view instance doesn’t need to exist until it is rendered
in the template.
2015-02-26 09:43:53 +10:30
Toby Zerner
bde89cdc31 Upgrade to latest ember, cli, etc.
ember 1.11.0-beta.3 fixes a demo-blocking bug. ember-json-api 0.3.0
fixes a bug so we can remove custom serializer code.
2015-02-26 09:39:21 +10:30
Toby Zerner
7d3f1078ec I dun goofed 2015-02-25 15:44:09 +10:30
Toby Zerner
0a746d4a5f Fix logout action 2015-02-25 15:36:25 +10:30
Toby Zerner
d2d5883a88 Fix bug causing wrong index to be returned 2015-02-25 15:36:17 +10:30
Toby Zerner
13a4ced63d Finish signup process, including state restoration 2015-02-25 15:34:02 +10:30
Toby Zerner
327719c5a3 Remove unused template 2015-02-25 15:32:21 +10:30
Toby Zerner
5f588bc6e9 Update dependencies 2015-02-24 21:46:46 +10:30
Toby Zerner
b5ba8d1d4c Fix installation instructions 2015-02-24 21:43:08 +10:30
Toby Zerner
03c6b33a7d Fix dud composer autoloading 2015-02-24 21:24:13 +10:30
Toby Zerner
2733b5810d Upgrade to L5 + huge refactor + more. closes #2
New stuff:
- Signup + email confirmation.
- Updated authentication strategy with remember cookies. closes #5
- New search system with some example gambits! This is cool - check out
the source. Fulltext drivers will be implemented as decorators
overriding the EloquentPostRepository’s findByContent method.
- Lay down the foundation for bootstrapping the Ember app.
- Update Web layer’s asset manager to properly publish CSS/JS files.
- Console commands to run installation migrations and seeds.

Refactoring:
- New structure: move models, repositories, commands, and events into
their own namespaces, rather than grouping by entity.
- All events are classes.
- Use L5 middleware and command bus implementations.
- Clearer use of repositories and the Active Record pattern.
Repositories are used only for retrieval of ActiveRecord objects, and
then save/delete operations are called directly on those ActiveRecords.
This way, we don’t over-abstract at the cost of Eloquent magic, but
testing is still easy.
- Refactor of Web layer so that it uses the Actions routing
architecture.
- “Actor” concept instead of depending on Laravel’s Auth.
- General cleanup!
2015-02-24 20:33:18 +10:30
Toby Zerner
330bff0ec8 Preliminary email confirmation implementation
Whenever a user registers or changes their email, they are sent an
email containing a link which they must click to confirm it.

Upon registering, a user won’t be assigned to any groups and therefore
won’t have permission to do anything (but they can still log in!) Upon
confirming their email for the first time, their account will be
assigned to the Member group and thus “activated”.
2015-02-16 14:52:53 +10:30
Toby Zerner
9375e92c12 Cleanup 2015-02-16 14:50:38 +10:30
Toby Zerner
7ba59fc9a4 Better check for user property in command validators 2015-02-16 14:48:10 +10:30
Toby Zerner
c03d8b96b8 Fix modal appearance 2015-02-16 14:12:48 +10:30
Toby Zerner
daa87269b4 Add a little spin transition on the search 'x' :) 2015-02-16 13:30:11 +10:30
Toby Zerner
4f8157a66f Better LESS configuration/theme customisability 2015-02-16 12:40:57 +10:30
Toby Zerner
5fa947df56 Add styles for post footer/actions
Will be used by extensions
2015-02-13 22:03:34 +10:30
Toby Zerner
4a10ae4e98 Fix logout action 2015-02-13 11:47:58 +10:30
Toby Zerner
d44772af3d Oops 2015-02-13 11:47:37 +10:30
Toby Zerner
b337d5cd72 Clean up user avatar/color generation 2015-02-13 11:45:14 +10:30
Toby Zerner
84f29b3419 Seed renamed posts properly 2015-02-13 11:44:19 +10:30
Toby Zerner
edfd053fc2 Explicit mapping of post type to class 2015-02-13 10:30:32 +10:30
Toby Zerner
5ebd0a0e93 Implement "renamed" posts
Record when the discussion was renamed, from what, and by whom.
Information is stored in the `content` field as a serialised JSON
object because proper polymorphism will be too difficult with Ember
Data and especially when extensions try to add new post types.
2015-02-13 10:23:38 +10:30
Toby Zerner
dc21666215 Remove the go to top button
It’s not particularly useful when there are fixed elements all over the
page (header, sidebar)
2015-02-13 09:46:22 +10:30
Toby Zerner
25f57c459d Still show index pane when a discussion is created 2015-02-12 15:19:46 +10:30
Toby Zerner
72485d534e Mark a discussion as read when it is created 2015-02-12 15:18:45 +10:30
Toby Zerner
b0f6d7f1f8 Fix mark as read bug 2015-02-12 15:18:26 +10:30
Toby Zerner
32fc2f5b8b Rename and delete discussion controls 2015-02-12 15:18:17 +10:30
Toby Zerner
875e239497 Only show reply button if user has permission 2015-02-12 15:17:20 +10:30
Toby Zerner
d89bcef816 Helper method for adding menu separators 2015-02-12 15:16:15 +10:30
Toby Zerner
7001c83fb3 Implement discussion deletion 2015-02-12 14:35:40 +10:30
Toby Zerner
b97887b612 Implement hard deletion and rename soft delete to hide 2015-02-12 14:35:24 +10:30
Toby Zerner
a29b849c54 Fix up uncaught ajax error alert message 2015-02-12 14:34:07 +10:30
Toby Zerner
450039f967 Fix up bug with the way we hide list items
If we use an #unless condition, then when the view is removed from the
template, it is destroyed, and cannot be inserted again. So we’ll just
keep the item there the whole time, and toggle its visibility with CSS.
2015-02-10 19:55:22 +10:30
Toby Zerner
4bfb973255 Delete ember-cli README 2015-02-10 18:08:20 +10:30
Toby Zerner
83b273db0d Upgrade to Ember 1.11-beta.1
HTMLBars goodness! Since there was some breakage and a lot of fiddling
around to get some things working, I took this opportunity to do a big
cleanup of the whole Ember app. I accidentally worked on some new
features too :3

Note that the app is still broken right now, pending on
https://github.com/emberjs/ember.js/issues/10401

Cleanup:
- Restructuring of components
- Consolidation of some stuff into mixins, cleanup of some APIs that
will be public
- Change all instances of .property() / .observes() / .on() to
Ember.computed() / Ember.observer() / Ember.on() respectively (I think
it is more readable)
- More comments
- Start conforming to a code style (2 spaces for indentation)

New features:
- Post hiding/restoring
- Mark individual discussions as read by clicking
- Clicking on a read discussion jumps to the end
- Mark all discussions as read
- Progressively mark the discussion as read as the page is scrolled
- Unordered list post formatting
- Post permalink popup

Demo once that Ember regression is fixed!
2015-02-10 18:05:40 +10:30
Toby Zerner
f5eaabacde Always add discussion state information 2015-02-10 17:53:52 +10:30
Toby Zerner
0edfeb5031 Don't imply order on posts relationship 2015-02-10 17:53:16 +10:30
Toby Zerner
ebd22d22f5 Add unordered list formatting 2015-02-10 17:52:13 +10:30
Toby Zerner
a31dc1d3a9 Refresh comments count when updating metadata 2015-02-10 17:51:39 +10:30
Toby Zerner
a820f3c4f4 Change API attribute for hiding/restoring posts 2015-02-10 17:51:16 +10:30
Toby Zerner
85097660f0 Prevent unnecessary events from being triggered 2015-02-10 17:49:42 +10:30
Toby Zerner
8323d2a72b API for marking all as read 2015-02-10 17:48:58 +10:30
Toby Zerner
d98b2a5642 Move extractMeta override to serializer 2015-02-09 20:14:18 +10:30
Toby Zerner
526e7114a3 Add editorconfig 2015-02-09 20:12:42 +10:30
Toby Zerner
a89fe9fbd5 Rejig post formatting 2015-02-09 09:49:48 +10:30
Toby Zerner
5d83e51813 Improve LESS variable skinning (unfinished) 2015-02-08 16:00:09 +10:30
Toby Zerner
24f9e97df4 Signup + modal refactoring 2015-02-08 15:59:39 +10:30
Toby Zerner
d053b5760e Fix jumpy downward post loading 2015-02-08 15:58:53 +10:30