Commit Graph

38 Commits

Author SHA1 Message Date
Toby Zerner
f9c839f0c6 Only reload results once when multiple params change 2015-02-26 13:29:26 +10:30
Toby Zerner
195e0f1321 Fix alerts not dismissing 2015-02-26 13:28:44 +10:30
Toby Zerner
57f4dc6091 Have a go at some error handling
Still not happy with how this is all fitting together. But good enough
for now
2015-02-26 12:48:23 +10:30
Toby Zerner
c09e47c434 Temporary fix for read marking 2015-02-26 12:46:27 +10:30
Toby Zerner
cfb89de251 Fix index result caching 2015-02-26 09:45:12 +10:30
Toby Zerner
8683025ef6 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
9ea482254c Finish signup process, including state restoration 2015-02-25 15:34:02 +10:30
Toby Zerner
2c46888db5 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
011ae3603e 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
681de4244b Still show index pane when a discussion is created 2015-02-12 15:19:46 +10:30
Toby Zerner
87159bd9a0 Rename and delete discussion controls 2015-02-12 15:18:17 +10:30
Toby Zerner
2bd5471699 Implement discussion deletion 2015-02-12 14:35:40 +10:30
Toby Zerner
36787bcf45 Implement hard deletion and rename soft delete to hide 2015-02-12 14:35:24 +10:30
Toby Zerner
c28307903b 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
d45f2fd1ac Signup + modal refactoring 2015-02-08 15:59:39 +10:30
Toby Zerner
2d181933ea Move alerts to their own controller 2015-02-08 15:51:40 +10:30
Toby Zerner
28d213d868 Implement discussion composition and creation 2015-02-06 14:07:15 +10:30
Toby Zerner
abd3aa2e1a Composer and replying tweaks/bug-fixes 2015-02-06 14:06:22 +10:30
Toby Zerner
9571a879fc Clean up application controller 2015-02-06 10:34:59 +10:30
Toby Zerner
3b375e9dc4 These are with the last commit 2015-02-06 10:34:12 +10:30
Toby Zerner
9ddc622929 Refactor index pane
So that it only loads when needed, and caches results so things are
nice and snappy
2015-02-06 10:32:45 +10:30
Toby Zerner
0365ae6c71 Load discussion and posts with one request
Speeds things up a heap.
Also fix a whole bunch of bugs with the post stream.
2015-02-06 10:30:38 +10:30
Toby Zerner
9ae0e9d470 Update discussion details upon reply 2015-02-03 18:41:03 +10:30
Toby Zerner
46c538c157 Better handling of AJAX errors 2015-02-03 18:40:34 +10:30
Toby Zerner
0552cae1ab Add alert messages 2015-02-03 17:02:46 +10:30
Toby Zerner
6544052da6 Clean up/refactor composer, add escape hotkey 2015-02-03 16:59:53 +10:30
Toby Zerner
12b0418eb7 Improve post composer + replying
- Make it modular so that different entry points can show different
things and respond differently (reply, new discussion, edit post)
- Resizable
- Fullscreen
- Confirm on close
2015-02-02 16:57:59 +10:30
Toby Zerner
12622e6c28 Work on composer, early implementation of replying 2015-01-30 12:22:19 +10:30
Toby Zerner
c2feae406d Add ember-simple-auth, setup login
- Allow dropdown-buttons to render a partial
2015-01-30 12:21:18 +10:30
Toby Zerner
d43db32698 Make welcome-hero close into an action 2015-01-30 12:13:06 +10:30
Toby Zerner
49a28eca14 Change forum title for demo 2015-01-26 12:06:54 +10:30
Toby Zerner
ea1b01e6b3 Clean up load more 2015-01-23 12:47:19 +10:30
Toby Zerner
df7da9338d Fix JSHint errors 2015-01-21 14:29:00 +10:30
Toby Zerner
74e80ea2df Implement redesign, refactor everything
- Write CSS for everything, update templates.
- Refactor discussion view. Stream is split into two components
(content and scrubber) which have their own responsibilities.
- Extract pane functionality into a mixin.
- Implement global “back button” system. You give a “paneable” target
to the application controller, the back button will modulate its
pane-related properties as necessary, and call an action when the
button is clicked.
- Extract welcome-hero into its own component.
- Lots of other general improvements/refactoring. The code is quite
well-commented so take a look!
2015-01-16 17:26:18 +10:30
Toby Zerner
087eb098ea Update to ember-data b14, comment out bug for now 2015-01-07 17:25:40 +10:30
Toby Zerner
2800a7e0cc Rename/fix post stream 2015-01-07 17:25:40 +10:30
Toby Zerner
1d8cda3c17 Get rid of some troublesome dependencies for now. 2014-12-20 21:06:15 +10:30
Toby Zerner
74db323f83 Hello world! 2014-12-20 16:56:46 +10:30