Archived
1
0
Commit Graph

279 Commits

Author SHA1 Message Date
Dan Helfman
9e0177f90c - bug: if you save a note that fails to be saved, e.g. due to being longer than 25k characters in size, then the note still shows up in
recent updates. fixed by making it so that when an error is received by invoker, the error message is displayed but the callback is
  not invoked
- bug: if you get an error when saving a note, the note should not disappear. it should still be present so you can try to save it again    - make invoker not call a callback if there's an error
  - in Wiki.hide_editor(), only close an editor after save_editor() has invoked a provided callback function
  - make sure this doesn't break the note conflict notification error (saved editor should still shutdown)
  - test this in IE
2008-05-06 05:47:31 +00:00
Dan Helfman
97c373561d * Added replace_contents() to model.Note to set the contents without updating the revision or anything else.
* Added new optional previous_revision params to default(), contents() and load_note() in controller.Notebooks.
   These use Html_differ() to generate and return diffs.
 * Updated Wiki.js:
   * provide previous_revision when a revision is opened in a new window/tab
   * call load_note() when two revisions when a revision is clicked in Changes_pulldown
   * update compare_versions() to display a diff instead of opening the two revisions separately
   * update load_editor():
     * update all invocations of load_editor(), including in Editor.js, to accept a new previous_revision argument
     * modify load_editor() to use the previous_revision argument (when supplied) to load a diff
2008-05-03 04:29:23 +00:00
Dan Helfman
ab83f4de6a Bug fix: Opening an old revision should not modify the recent updates list. 2008-04-30 02:51:56 +00:00
Dan Helfman
53bc23f374 UI and font size changes. 2008-04-29 20:53:39 +00:00
Dan Helfman
d8eb591549 Made function not throw in IE when run before the page is fully loaded. 2008-04-29 03:25:19 +00:00
Dan Helfman
1d0867d776 * Renamed existing controller.Notebooks.load_recent_notes method to just recent_notes().
* Implemented new controller.Notebooks.load_recent_updates() method.
 * Added new Wiki.js total_notes_count_updated signal
 * Added "more" and "less" links to "recent updates" table.
 * Updated Wiki.js Recent_notes to support new "more" and "less" links.
 * Commented out unfinished discussion forums unit test.
2008-04-29 00:54:08 +00:00
Dan Helfman
6124532500 * Better support for RSS feeds of notebooks with unicode names.
* Now dynamically altering RSS feed link when notebook is renamed.
2008-04-24 20:32:43 +00:00
Dan Helfman
1d03540f71 New "nothing but notes" mode, allowing you to hide everything on the page
except for your notes and the toolbar.
2008-04-18 23:54:09 +00:00
Dan Helfman
dbc83be740 * Modified tree control down arrows to have some blank space at the top, so as to better align with the right arrows.
* Put all expanders into <div>s, which are then wrapped in <td>s. This makes for better vertical centering, especially in IE.
 * Modified Wiki.js to account for expanders now having yet another parent.
 * Put note tree instructions in a <tr><td> instead of in a <div>, as <div>s alone don't belong in tables.
2008-04-16 06:38:19 +00:00
Dan Helfman
82623d6e1f Removing TODO since there are now note tree instructions displayed when there are zero note tree links. 2008-04-16 01:20:56 +00:00
Dan Helfman
ec526e9e41 Made link pattern case insensitive to match uppercase <A> tags in IE. This
fixes the following bug: When you set a note as a startup note and add its
link to the note tree in IE6, the link isn't added with a visible expander
even if it has child links.
2008-04-16 01:14:37 +00:00
Dan Helfman
4398d07d4c Bug fix: Toggling a note's startup flag didn't add a link to the the note tree
in IE6. Apparently Internet Explorer doesn't support appending rows directly
to tables. Fixed by adding a <tbody> to the table and appending to that
instead of the table itself.
2008-04-16 01:05:12 +00:00
Dan Helfman
a282c8d1e1 Bug fix: Clicking the expander for a link that just got its first child didn't appear to work because of double processing the link
clicked event, which caused it to expand and then immediately collapse.
2008-04-16 00:44:57 +00:00
Dan Helfman
431bf6ace7 Completed recent notes list:
* displaying list of links
  * adding links
  * removing links
  * updating links
  * controller.Notebooks.contents() changes to return recent notes
2008-04-16 00:28:18 +00:00
Dan Helfman
ea4ad4c683 Bug fix: If you opened the link info box on a link to a deleted note, and then
clicked that link, it wouldn't give you a message about the link being in the
trash but would instead just open an empty version of that note.
2008-04-15 20:59:27 +00:00
Dan Helfman
5202629be0 Now clearing messages/pulldowns upon undeletion of a note. 2008-04-15 20:22:06 +00:00
Dan Helfman
efd9755547 Fixed bug where note deletion didn't properly remove the note link from the note tree.
Add a brief paragraph with instructions on how to add a note to the note tree, shown only when there are no notes there.
Added a heading for "recent notes", which should be filled out with links in a subsequent commit.
2008-04-15 19:40:36 +00:00
Dan Helfman
db03f39c06 When all the children of a display note are removed, remove the expander from
that note's entries in the note tree. When a note with no children is updated
so that it has at least one child, add an expander to that note's entries in
the note tree.
2008-04-14 23:54:04 +00:00
Dan Helfman
fbcd767aa9 Note_tree.update_link() now properly updates the list of children links under
an expanded note tree item whenever the editor for that item is saved.

Still todo: Update the presence of the expander as children come and go.
2008-04-14 21:57:48 +00:00
Dan Helfman
fad6abacbd Now when you toggle the "show on startup" flag, the note's link is appropriately added to or removed from the note tree. 2008-04-14 20:28:42 +00:00
Dan Helfman
17cf1bf9a6 Made note tree expander arrows not show while in the trash.
When emptying the trash, the note tree table is cleared.
2008-04-14 20:18:32 +00:00
Dan Helfman
2fd9514a04 When the expander is clicked for a note id that's also a parent/grandparent/etc note, don't expand and just highlight the
containing table.
2008-04-14 20:14:32 +00:00
Dan Helfman
935c6a5031 Improved automatic adding/removing of note tree root notes when notes are deleted/undeleted. 2008-04-13 22:29:50 +00:00
Dan Helfman
0908693946 Changed note tree root link adding to use new note_tree_root_table id. 2008-04-13 22:02:42 +00:00
Dan Helfman
5af010fab7 Fixed bug that caused exception when Note_tree got signal for a note being removed (and it wasn't a startup note). 2008-04-13 21:57:03 +00:00
Dan Helfman
b58ff2450a Note tree links to non-existent notes now work correctly. 2008-04-13 21:25:47 +00:00
Dan Helfman
a3909d05d5 * Added onclick handlers for dynamically loaded note tree links and their
associated expanders.
 * Waged an epic battle against the dark forces of CSS. Did you know that the
   max-height property applies to nearly all HTML elements *except* tables? No?
   Well neither did I until I looked it up, seriously wondered what the W3C
   could have been smoking, and then proceeded to spend the next DAY AND A
   FRICKING HALF making my table have a max-height without breaking any of my
   other intricately arranged CSS. Victory is mine.
2008-04-13 07:28:32 +00:00
Dan Helfman
b6acd92630 Refactored expand_link() to no longer get elements by note id. Since there may
be multiple links with the same note id, this was fragile.
2008-04-12 21:57:29 +00:00
Dan Helfman
0d4bb81943 Clicking an external link or a file link in the note tree now opens with target=_new. 2008-04-12 02:32:11 +00:00
Dan Helfman
eaaf1b3de5 Lots more work on the note tree control. Still not done, and some of the new icons suck. 2008-04-12 00:51:32 +00:00
Dan Helfman
cd98b7c9e6 Now the tree expander arrow only displays if there are actually any links within the note. 2008-04-10 19:40:17 +00:00
Dan Helfman
ae5fbd5837 When the startup status for a note is changed, update the note tree accordingly. 2008-04-10 18:45:52 +00:00
Dan Helfman
0d0e552a09 Reducing indenting of top-level note tree items.
Made "untitled note" the title for note tree links with no titles.
2008-04-10 00:05:03 +00:00
Dan Helfman
a56536ee5e Began implementing note tree control on the left side of the page:
* Added a fixed list of startup links.
  * When link in list is clicked, open corresponding note editor.
  * When a startup note is added/deleted, update the list.

Still much more work to do on this before it's complete.
2008-04-09 23:31:30 +00:00
Dan Helfman
a072cbc5ae When search text field is blurred, redisplay "search" in it. 2008-04-04 06:28:26 +00:00
Dan Helfman
d232826d0b Several cosmetic and layout changes to the wiki editing page. Specifically,
made the header that's on the product pages present at the top of the wiki
page as well. Still need to make links bold when viewing certain pages
(help, contact, etc).
2008-04-04 05:39:40 +00:00
Dan Helfman
03f015f99a * Propsetting a bunch of svn:ignores.
* Added a bunch of thumbnail-related methods to controller.Files.
 * Modified Files.download() method to redirect to image preview if
   requested.
 * Implemented image preview to popup full image in a separate window.
 * Added empty stubs for relevant unit tests. Still to-do.
 * Added new dependency on python-imaging package (PIL).
 * Updated file info popup to include clickable thumbnail.
2008-04-01 21:54:43 +00:00
Dan Helfman
010cbcf01b Now issuing a *synchronous* save_note() call on page unload. When this call
was done asynchronously, and a Luminotes Firefox window was closed, sometimes
save_note() didn't get called. This didn't occur in IE.
2008-03-29 08:31:34 +00:00
Dan Helfman
c452408106 Finished remake of signup page. You can now click "signup" for non-free accounts even if you're not logged in. 2008-03-24 22:33:00 +00:00
Dan Helfman
2cae1faf2d Conditionally quoting download filenames based on detected browser. 2008-03-18 22:22:19 +00:00
Dan Helfman
94a51889f9 Added ability to reorder notebooks on the right side of the page.
Need to complete unit tests for controller.Notebooks.move_up() and move_down().
2008-03-15 03:04:59 +00:00
Dan Helfman
911137b112 The "all notes" note now actually hides when the "hide" button is clicked and
doesn't just reappear.
2008-03-12 01:06:50 +00:00
Dan Helfman
22228f5a2c Resizing browser text now causes wiki notes to resize accordingly. 2008-03-11 23:50:09 +00:00
Dan Helfman
db101b2c2f Don't call ScrollTo for display of messages/errors if the error/message is fully visible within the window. 2008-03-11 10:40:43 +00:00
Dan Helfman
7c51c02928 Show list of all notes on startup if there are no startup notes and the
notebook isn't empty.
2008-03-11 04:52:23 +00:00
Dan Helfman
c0cf5892be No longer popping up a link info box when clicking on a note link. 2008-03-11 00:48:37 +00:00
Dan Helfman
2d55455120 Fixed a bug where, after you highlighted a link and clicked the link button
to unlink it, the link info box popped up.
Actually checking in cache changes that were supposed to be in previous
release.
2008-03-10 23:15:33 +00:00
Dan Helfman
2b0a9af3e3 Client code now only calls save_note() on the server when necessary, and
takes startup flag into account.

Fixed unit test for database cache.
2008-03-07 23:14:39 +00:00
Dan Helfman
50367579c0 Beginning revamp of tour page and screenshots. 2008-03-06 07:21:35 +00:00
Dan Helfman
192d043e29 JavaScript code now tracking editor dirty state and not calling save_note() when editor is clean. 2008-03-05 02:56:58 +00:00
Dan Helfman
0790463b8d Now scrolling vertically to opened errors/messages. 2008-03-03 21:11:01 +00:00
Dan Helfman
3af5af18c5 Changed controller.Users.logout() to not be a JSON method so just hitting the
"/users/logout" URL will log you out and redirect you the front page.

Made front page prettier and better at explaining Luminotes (hopefully). The
front page is no longer a wiki, but is instead a mostly static page.
2008-03-01 00:26:06 +00:00
Dan Helfman
092f3ff9c6 Removed Wiki.js.Upload_pulldown.shutdown() "force" flag as it's redundant if this.uploading is set accordingly.
Make IE 6 and 7 actually stop uploading a file when the cancel button is clicked.
Ignoring blank filename renames.
2008-02-25 21:56:33 +00:00
Dan Helfman
e7c96cadf5 Using "link.innerHTML =" instead of replaceChildNodes() to set a file link's
title when uploading a file, as this plays more nicely with IE. With
replaceChildNodes(), IE swallows the text cursor and won't give it back.

Also explicitly passing link parameter to Upload_pulldown() constructor, as
editor.find_link_at_cursor() wasn't always working in IE.
2008-02-22 23:03:10 +00:00
Dan Helfman
36b11805c6 Now purging files from the database/filesystem when notes they're linked from
are deleted from the trash. Also displaying a message when deleting a file
manually via the "delete" button.
2008-02-22 21:08:29 +00:00
Dan Helfman
7b8f6bd6e5 Improved error reporting in the controller.Files.upload() method. Now
correctly displays an error to the user when uploading without a filename or
with an invalid file.
2008-02-21 19:39:03 +00:00
Dan Helfman
6a5481f7d6 Fixed updating and display of storage usage when an uploaded file is deleted. 2008-02-21 03:41:37 +00:00
Dan Helfman
e0c65a6ac4 File deletion now works. Still need unit tests. 2008-02-21 00:41:08 +00:00
Dan Helfman
eb18b6020d File renaming works. Unit tests still pending.
File deleting implemented. Testing and unit tests still pending.
Now releasing session lock at top of download() to prevent session deadlocks.
2008-02-20 23:25:13 +00:00
Dan Helfman
fd0e91ea39 Implemented quota enforcement when uploading a file. This occurs in two places:
1. In progress(), around the time when the file starts uploading. This causes
an upload that's too large to bail before the whole file uploads, but the
quota calculation is only an estimate and relies on the client actually
calling progress().

2. In upload(), when the file finishes uploading. This quota calculation is
exact, but only happens after the entire upload completes.
2008-02-20 20:21:54 +00:00
Dan Helfman
3d5baa1e24 * Quota storage calculation now takes uploaded files into account.
* controller.Files.upload() now updates user quota storage.
 * When a file is uploaded, the new storage bytes count is returned to the client and displayed.
2008-02-20 00:57:10 +00:00
Dan Helfman
ddc58449f8 Now displaying a message when the upload is cancelled. 2008-02-19 21:15:09 +00:00
Dan Helfman
8443f7e5cb Once an upload has started, you can no longer close the Upload_pulldown by
clicking somewhere else. You have to click "cancel". This is to prevent
accidental upload cancellations.
2008-02-19 20:48:43 +00:00
Dan Helfman
a34ffe2dc6 controller.Files.upload() now removes file data from disk upon an aborted upload.
Wiki.js Upload_pulldown() now has an update_position() method that's used when the pulldown is already open.
2008-02-19 20:40:19 +00:00
Dan Helfman
ebf123d052 Now you can close an upload / file link pulldown and end a file link. 2008-02-19 20:25:35 +00:00
Dan Helfman
804332b3e2 I hate the web. 2008-02-19 00:47:59 +00:00
Dan Helfman
b80ad248f9 Fixed to make progress bar and download link work properly in IE 6 and 7. 2008-02-18 23:44:17 +00:00
Dan Helfman
731dc52623 More work on file uploading. Unit tests need to be fixed. 2008-02-18 20:08:07 +00:00
Dan Helfman
90c83ad1e5 New File_link_pulldown, not yet complete. 2008-02-05 19:45:11 +00:00
Dan Helfman
04f86f05a6 Rewrote controller.Files.upload_file() not to use a CherryPy-2.1-style file upload filter.
Now releasing session lock before streaming the file to prevent session deadlock in the event of a cancelled upload.
2008-02-04 20:06:02 +00:00
Dan Helfman
362a125b1b Working "cancel" button during upload. 2008-02-01 22:44:01 +00:00
Dan Helfman
e56503903b Factored out file upload methods from Notebooks to new Files controller.
Changed file link insertion code to reuse existing link creation code.
2008-02-01 19:17:10 +00:00
Dan Helfman
0cf2b5bda7 Initial work on UI and controller for file uploading:
* new toolbar button for attaching a file
 * button opens new Upload_pulldown() for uploading a file
 * began controller.Notebooks.upload_file() to process the upload
2008-01-31 21:52:32 +00:00
Dan Helfman
c4a313bf08 Completed conversion of checkbox and radio button text to use HTML <label> tag. 2008-01-26 19:32:22 +00:00
Dan Helfman
329397a681 Converted "share this notebook" access choice radio buttons to use HTML <label> tag. 2008-01-26 00:37:38 +00:00
Dan Helfman
cb0e9137c9 Fixed several race conditions between save_note() and other note-mutating controller methods. 2008-01-22 23:29:16 +00:00
Dan Helfman
e4c6fa052a * bug: occasionally, undeleted notes don't leave the trash (but change to having non-trash buttons when undeleted).
repro:
    1. delete a note
    2. go to the trash
    3. click undelete, and then *very quickly*, click the name of the notebook
    4. when the notebook loads, it won't have the undeleted note
    5. go back to the trash. the deleted note will be there, with non-trash note buttons
  this seems to be a race between undelete_editor_via_trash() and save_editor(), which is invoked upon page close. solution: don't
  allow save_editor() to call save_note() if editor.closed is set
2008-01-18 21:29:11 +00:00
Dan Helfman
948c1cd059 The quota nag message now has an link to /upgrade. 2008-01-11 09:02:14 +00:00
Dan Helfman
8f00cceb94 Made upgrade page dynamically generated on the server instead of static html.
This allows things like only displaying subscription buttons if you're logged in.
2008-01-10 08:33:19 +00:00
Dan Helfman
08cd7057f3 Fixed bug that prevented you from opening a note with a title that looked
like an external URL.
2008-01-08 23:33:25 +00:00
Dan Helfman
8e87239e6f Display all redeemed invites sent to the same email address, instead of just displaying one invite per email address. 2008-01-06 22:22:46 +00:00
Dan Helfman
2bcbc17172 Feature to preview notebook as viewer or collaborator, so you can see what it
will look like to people you share it with.

Hopefully fixed broken demo conversion detection.
2008-01-06 00:12:18 +00:00
Dan Helfman
1b830c06a1 Add username on conflicting revision to change notification message. 2008-01-04 21:50:11 +00:00
Dan Helfman
762de24bca Fixed bug that prevented loading notes to compare conflicting versions. 2008-01-04 21:43:54 +00:00
Dan Helfman
5520fe5892 * make a User_revision object containing a revision timestamp, user_id, username
* change controller.Notebooks.load_note_revisions() to select and return User_revision objects
 * change controller.Notebooks.save_note() to use User_revision objects for new_revision and previous_revision as well
 * update client to deal with new load_note_revisions() return values (make sure all uses of revisions_list are updated)
 * update client to deal with new new_revision/previous_revision
 * update changes pulldown to show username along with each timestamp
 * update model.Invite to load redeemed_username along with redeemed_user_id
 * display the redeemed username next to each email address in the "share this notebook" note
2008-01-04 04:45:43 +00:00
Dan Helfman
405081e27a Fix for note summary sometimes showing up with literal HTML tags. 2007-12-30 21:55:25 +00:00
Dan Helfman
f00809955c * Users.signup(), Users.login(), and Root.default() now support optional invite_id parameter.
* Modified Wiki.js to include invite_id parameter when necessary.
 * Increased storage quota (and price) for premium rate plan.
 * Added a note displayed when redeeming an invite, with links to signup and login.
2007-12-27 22:16:47 +00:00
Dan Helfman
60f8838b1d Preventing "x invitations have been sent message." from disappearing as soon as it's displayed. 2007-12-13 23:02:33 +00:00
Dan Helfman
a501d5fcce UI for invite revocation. 2007-12-13 22:29:57 +00:00
Dan Helfman
36c5ff5b08 Display of current invites now updates when you add new invites.
This means that controller.Users.send_invites() now returns a list of current invites.
Added a "new!" to the share link.
2007-12-13 20:26:32 +00:00
Dan Helfman
225167035d * model.Invite now has a to_dict() method, like other model classes do.
* Initial invites are now returned through Main_page() and displayed (but not
   yet updated) within the "share this notebook" note.
2007-12-12 00:52:34 +00:00
Dan Helfman
02444c81cc Adding some emphasis to remark within "share this notebook". 2007-12-11 05:52:33 +00:00
Dan Helfman
52c111895a Non-paying users can now invite people to their notebook, but only as viewers.
Paying users can invite them as viewers, collaborators, or owners.
2007-12-11 02:58:31 +00:00
Dan Helfman
5554b1df17 * Started a static upgrade HTML file with rate plans.
* Fixed Invite.sql_update() to have SQL params in proper order.
 * Fixed bug where email addresses containing "-" were considered invalid.
 * Made UI for inviting other people to your notebook.
 * Tweaked the rate plans and added a new one.
2007-12-11 01:15:03 +00:00
Dan Helfman
8b030b1a87 Sigh. 2007-12-05 22:55:23 +00:00
Dan Helfman
69889b5a29 Fix for bug where you'd see "&amp;" in notebook rename field. 2007-12-05 22:52:37 +00:00
Dan Helfman
c750862263 Whoops, didn't mean to checkin the commenting out of these lines. 2007-12-03 21:36:25 +00:00
Dan Helfman
83b3fb5baa Refactored Wiki.toggle_button to work mostly correctly, as the previous revision broke it. 2007-11-30 01:43:06 +00:00
Dan Helfman
d9b36fa613 * Fixed note focusing in Safari.
* Fixed note state detection (bold, italic, etc.) in Safari.
2007-11-30 01:00:03 +00:00
Dan Helfman
2e178f08be Resizing all iframes whenever the window resizes. 2007-11-29 20:15:37 +00:00