Archived
1
0
Commit Graph

195 Commits

Author SHA1 Message Date
Dan Helfman
f4511a8493 Fixed indentation. 2009-01-13 12:35:12 -08:00
Dan Helfman
ab3e04538c Fixed editor_by_id() function to work correctly when a revision is given and a static div editor is returned. 2009-01-13 12:20:36 -08:00
Dan Helfman
53bff5980d Removed some iframe CSS that wasn't actually used in iframes, such as CSS for forms, buttons, etc. 2009-01-12 17:06:44 -08:00
Dan Helfman
5eb1aff6a2 Prevent double-connection of note controls to click signal handlers. 2009-01-12 16:44:28 -08:00
Dan Helfman
9a0650e946 Fix for spurious exception. 2009-01-12 16:37:03 -08:00
Dan Helfman
4e31959dfd Fixing note highlighting when opening an old revision of a note. 2009-01-12 16:24:52 -08:00
Dan Helfman
a6540e6da3 Ignore mouse hover events for static div notes, thereby preventing link pulldown from opening. 2009-01-12 16:00:24 -08:00
Dan Helfman
59be7cc79d Fixed more focusing issues. 2009-01-12 14:49:45 -08:00
Dan Helfman
d6611c1029 Fix for several note focusing problems. Also converted more of Wiki.js not to rely on an editor having an iframe. 2009-01-12 14:19:32 -08:00
Dan Helfman
b25cc97308 Fix for broken focusing. 2009-01-09 17:15:07 -08:00
Dan Helfman
6e1908a66a Renamed finish_init() to connect_handlers() and made it work with create_div(). Made read-only editors stay divs, never iframes.
Added an OPERA constant to indicate when running in Opera.
2009-01-09 16:43:33 -08:00
Dan Helfman
36e1843f66 Setting a slight delay on the resize so that it works properly. 2009-01-09 14:35:47 -08:00
Dan Helfman
f36d6b9500 Creating a new iframe (where this is no static div) now works again. 2009-01-09 13:17:33 -08:00
Dan Helfman
4f5825c862 Editor.summarize() now supports static note divs. 2009-01-09 13:12:03 -08:00
Dan Helfman
28b2dbe469 Editor.shutdown() now supports static div notes, not just iframes. 2009-01-09 13:10:33 -08:00
Dan Helfman
9dfe196dc7 Editor.highlight() now supports static div notes, not just iframes. 2009-01-09 13:05:42 -08:00
Dan Helfman
7442f46de2 The transition from a static note div to a design-mode-enabled iframe now appears visually seamless. 2009-01-09 12:27:00 -08:00
Dan Helfman
d5b0351bb4 Rewrote Editor.empty() to rely on scrapeText() again. 2009-01-08 12:42:00 -08:00
Dan Helfman
c40a180a5d Now properly resizing a note if you cut/paste text in it with the mouse. Only works in FF3. 2009-01-07 17:14:22 -08:00
Dan Helfman
2d728b584d Fixing Editor.empty() and getting rid of now unnecessary iframe onreload (which had the unwanted side effect of scrolling the page to the top for every iframe). 2009-01-07 15:14:58 -08:00
Dan Helfman
f0da74b8ed Made use of a new normalize_title() function that's responsible for returning "untitled note" as appropriate. 2009-01-07 14:15:22 -08:00
Dan Helfman
dbc095030c Making new notes start off in title mode. Also making the cursor of a new iframe start at the end of the contents. 2009-01-07 13:51:02 -08:00
Dan Helfman
19a24d9d78 Fixed Editor.dirty() and Editor.mark_clean() to deal with divs in addition to iframes. 2009-01-07 12:57:51 -08:00
Dan Helfman
b0202e785b More padding at the top of each frame/div. 2009-01-07 12:43:16 -08:00
Dan Helfman
55362cd4b1 Now properly stripping off / adding "static_note_contents" span when switching between iframe/div. 2009-01-07 12:39:48 -08:00
Dan Helfman
b2eaa5a168 Don't blur an iframe as soon as the focus leaves, but rather when another editor is focused. This makes the toolbar work again. 2009-01-06 16:28:01 -08:00
Dan Helfman
087723ebdd Improved iframe initialization code. 2009-01-06 16:20:04 -08:00
Dan Helfman
e043cf1e0c Pulled in and merged most recent revision with iframes-on-demand changes. 2009-01-03 15:56:54 -08:00
Dan Helfman
c07794377d Work towards iframes-on-demand. 2009-01-03 15:52:12 -08:00
Dan Helfman
f68d571e68 Indication of current font now works in WebKit (Safari/Chrome). 2008-12-22 19:25:09 -08:00
Dan Helfman
f385ebaa9c In the font pulldown, now showing the current font with a check mark. 2008-12-15 18:10:38 -08:00
Dan Helfman
0b2b0ec69e Fixed a rare Chrome/Safari bug in which pressing backspace sometimes made the text cursor vanish. 2008-12-03 14:50:53 -08:00
Dan Helfman
cfdd666c5f Fixed a Chrome/Safari bug in which ending a link didn't always work.
Specifically, in a list of two elements in which each element was a link,
clicking right after the first element and then pressing ctrl-L to end the
link didn't work as expected. Now it does.
2008-12-03 13:10:18 -08:00
Dan Helfman
db1435c7c1 Began work to make only the currently focused note an iframe, while all other notes are static divs. 2008-12-02 11:42:57 -08:00
Dan Helfman
4c3d374062 Fixes for IE 6. 2008-11-18 16:16:52 -08:00
Dan Helfman
4775d6df98 Removed the "changes" tab from your own notes in the discussion forums, since it didn't work there anyway due to a redirect. 2008-11-14 22:52:54 -08:00
Dan Helfman
d5efdf2665 Fixed a bug in IE in which clicking a link sometimes caused the browser window to scroll down and then immediately back up. 2008-11-11 11:40:26 -08:00
Dan Helfman
d62b885e46 Bug fix for when you load a notebook and it has several notes, the page scrolls to part-way down the page after all the iframes load. 2008-10-30 14:57:27 -07:00
Dan Helfman
21a05befe0 More forum-specific stuff. 2008-10-27 16:23:27 -07:00
Dan Helfman
872d636ad4 Note resizing (growing and shrinking) now works as expected in Safari/Chrome. Shrinking didn't work before this fix. 2008-10-07 16:39:49 -07:00
Dan Helfman
5944d1f20d Fixed bug in Safari/Chrome in which hiding an empty note caused it to get saved and end up in the "recent updates". 2008-10-06 15:48:32 -07:00
Dan Helfman
b19f488d90 Now also removing WebKit-generated <font> tags that result from titling/untitling note text. 2008-10-06 15:35:38 -07:00
Dan Helfman
317a79456c Underline and strikethrough now work in Chrome/Safari. Accomplished this by rewriting WebKit-generated HTML in realtime. 2008-10-06 15:09:13 -07:00
Dan Helfman
e2996030ac WebKit-specific hack to make the horizontal line under the title show up correctly. 2008-10-03 00:11:40 -07:00
Dan Helfman
41dade9f28 Safari/Chrome notes now start out in title mode (again). 2008-10-02 23:59:39 -07:00
Dan Helfman
a0b189695c You can now create and end links from within Safari/Chrome.
This involve changing the non-IE portion of Editor.insert_link() to use a different sort of title placeholder hack.
Also, as part of this commit, Editor now determines browser type once instead of for every Editor created.
2008-10-02 23:08:56 -07:00
Dan Helfman
c37e35b042 Fixed a rare bug in which undeleting a note via "undo" sometimes does not show the undeleted note even if the undelete is successful. 2008-08-13 13:34:30 -07:00
Dan Helfman
5ef02e5c0c Fixed a bug in Firefox 3 in which disabling title text did not work. Fixed a bug in Firefox 2 and 3 so enter consistently inserts the same tag. 2008-08-11 20:37:20 -07:00
Dan Helfman
17b49b404c Increased speed of note hiding animations. 2008-07-30 20:38:20 -07:00
Dan Helfman
953bc5360d On second thought, making scrolling speed even faster (0.25 seconds in duration). 2008-07-29 14:52:23 -07:00
Dan Helfman
3a4030fee5 When scrolling to and then highlighting a note, do so serially instead of in parallel.
Also made speed of scrolling to a note or message slightly faster.
2008-07-29 14:48:54 -07:00
Dan Helfman
6ac620beb0 Fixed a bug in which clicking a note title suggestion from within the link info title field sometimes didn't update the link properly.
This was due to a race condition between the link info pulldown's
onblur/onchange handler and the suggestion onclick handler, both of which
tried to update the link, title, and summary at about the same time.
2008-07-07 15:38:16 -07:00
Dan Helfman
6163ee0f63 Added suggest-as-you-type feature to link pulldown's title field. 2008-06-29 20:32:13 -07:00
Dan Helfman
522f8b9330 Implemented support for embedded images within wiki notes. Also added hover support to open link pulldowns. 2008-06-13 15:55:19 -07:00
d22c8c0bb4 Fixed bug where form onsubmit event binding was only being done on the last form in a note. 2008-06-03 16:12:13 -07:00
cf10cf8c82 Refactored some of the client-side form-handling code to cut down on
special-case hacks.
2008-06-02 14:16:35 -07:00
3f2c51e338 Fixed mouse click handling brokenness introduced by 03b6a15e86e1. Also Beginning to phase out special-case hack for form submission. 2008-05-30 17:10:57 -07:00
fe83423845 Removing special case / hack for share this notebook radio buttons, as it didn't appear to be necessary. 2008-05-30 15:49:45 -07:00
Dan Helfman
02a3544590 Search result now return notes from multiple notebooks.
- change model.Notebook.sql_search_notes() to be a static method
   - take a first_notebook_id argument and a user_id argument
   - join user_notebook on notebook_id and matches on user_notebook.user_id instead of notebook_id
   - order by notebook_id = first_notebook desc, rank instead of just rank
   - include search result for notebooks readable by anonymous user, but only if such a notebook is given as first_notebook_id
 - update code that calls model.Notebook.sql_search_notes()
 - update model.Note.to_dict() to include notebook_id
 - modify Wiki.display_search_results()
   - separate search results for the current notebook and results for all other notebooks
   - indicate which notebook each result is from
   - if there are results in other notebooks but no results in the current notebook, indicate that clearly
   - when you click on a result note link in the current notebook, it should simply open a new note
   - when you click on a result note link in another notebook, it should open in a new window
 - test in IE
 - update unit tests for:
   - controller.Notebooks.search()
   - model.Notebook.sql_search_notes()
   - model.Note.to_dict()
2008-05-19 15:16:25 -07:00
Dan Helfman
f418027f54 Editor.normalize_html() now handles an empty/null html parameter. 2008-05-18 01:22:00 -07:00
Dan Helfman
99c32fa120 Improved the detection of whether an existing note has been altered.
* Using the browser's tweaked version of the initial HTML, instead of the HTML that we tell the browser to use.
 * Improved normalize_html() function to handle more cases.
 * Added start_dirty flag to Editor() constructor and made use of it for completely new notes.
2008-05-18 01:07:15 -07:00
Dan Helfman
1722d02317 Improved the detection of whether an existing note has been altered.
There is still at least one case (IE only) where this detection fails and a
note unaltered by the user gets resaved to the server. This is because IE
alters relative links within design mode documents.
2008-05-17 23:17:37 -07:00
Dan Helfman
501ec7b37b Fixes a problem where Editor.dirty() returned true spuriously in Firefox, even when nothing was changed.
The bug arose because Firefox shows br tags as "<br>" even when they are
initially "<br />". This meant that the initial and current html didn't match
up, so dirty() returned true even though nothing had changed.

In IE, there's a similar problem because IE likes to uppercase all tags. That
will be fixed in a subsequent commit.
2008-05-17 16:16:27 -07:00
Dan Helfman
2a542999c5 * In development mode, disable session filter for static files. This may
prevent some session deadlock errors.
 * Fixed some bugs with the new auto-resizing toolbar:
   * In IE 6/7, when you click on a formatting button such as italics, it
     doesn't visibly depress, because update_toolbar() is causing it to
     unpress until you start typing the italic text. Fixed by only calling
     update_toolbar() in focused_editor() if focused_editor is null.
   * When downing or upping a toolbar button, now calling
     resize_toolbar_button() unconditionally.
2008-05-13 04:02:31 +00:00
Dan Helfman
18982dc129 Implemented basic user account settings. Now you can change your email
address.
2008-05-08 03:05:35 +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
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
34bc8cb849 Don't resize if there's no document. 2008-03-12 00:40:02 +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
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
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
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
731dc52623 More work on file uploading. Unit tests need to be fixed. 2008-02-18 20:08:07 +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
6bdacd272e * Replaced a workaround for a Firefox DesignMode bug. The bug causes a jumping
text cursor. The previous workaround involved appending <span> tags and had
   other negative side-effects. The new workaround involves removing extra <br>
   tags.
2008-01-28 20:45:36 +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
4fd44700e1 Now tracking conversions for subscriptions.
Notes in the trash can no longer be edited. They must be undeleted first.
2008-01-22 20:29:29 +00:00
Dan Helfman
179f7ea4d1 Fixed bug where revoke buttons would be created with the same invite_id due to
a closure using a variable within a for-loop.
2008-01-06 06:01:30 +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
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
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
ac3759dcee Ignoring ctrl key being released in IE 6 and 7. 2007-11-30 04:00:31 +00:00
Dan Helfman
2832cebb48 Fixed note state detection of bold/italic in IE 6 and 7. 2007-11-30 01:45:07 +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
08950c2ab7 Resizing onload as well since some browsers (e.g. Safari) don't fire onresize on iframes. 2007-11-29 20:32:41 +00:00
Dan Helfman
0152b49475 Refactored the way note summaries are created in the link pulldown window. 2007-11-27 21:28:25 +00:00
Dan Helfman
0238c27111 If the editor being highlighted is already completely on-screen (within the viewport), then there's no need to scroll. 2007-11-09 08:24:40 +00:00
Dan Helfman
9d7c38c396 Revamped positioning of new editors and messages so that they show up
immediately after the editor you're working on instead of at the bottom of the
page. Also, if you undo a note's deletion, it'll show up right back where it
was amonst the notes.
2007-11-09 06:49:26 +00:00
Dan Helfman
89f97dd7a4 Focusing username field on signup and login notes upon loading. 2007-11-07 20:44:30 +00:00
Dan Helfman
c05d48de1a Removing "changes" button from notes in the trash because using it causes access errors and JavaScript errors. 2007-11-05 21:36:39 +00:00
Dan Helfman
99c08bc3d1 Finally, when you start a link, the cursor no longer disappears!
Unfortunately, doing this required a total selection hack, and litters the note HTML with empty spans.
2007-10-27 07:54:52 +00:00
Dan Helfman
f965eb1978 Read-only editors should not issue title change events. This fix also happens
to prevent links for read-only old revision notes from showing up in the "all
notes" note.
2007-10-26 20:50:58 +00:00
Dan Helfman
84283f524e If you click on a link for a note that's in the trash, you just get a message telling you so, with a button to undelete the note. 2007-10-22 23:17:56 +00:00
Dan Helfman
9ef2eb9954 Update "all notes" note dynamically as notes as created, deleted, undeleted, renamed, etc. 2007-10-22 20:52:04 +00:00
Dan Helfman
d44f3b9224 Some tweaks for Opera, even though it's not supported. 2007-10-19 20:55:13 +00:00
Dan Helfman
f2e7ed17ca Bug fix for displayed link pulldown destination getting replaced when it
contained an external URL and you changed the title of the link.
2007-10-17 21:22:21 +00:00