Commit Graph

406 Commits

Author SHA1 Message Date
Brion Vibber ec828a094c Update LinkPreview plugin for multiple notice forms.
* main notice form setup now encapsulated into SN.Init.NoticeForm(form) -- this can be monkeypatched by plugins to append their own setup code, as LinkPreview does
* LinkPreview now supports debugging with non-minified JS source when $config['site']['minify'] is false
* tweaked core & neo styles so 'notice-status' class gets same styles as attach-status, so we can more easily add mroe statusy things. (needs more consolidation with geo-status, etc)
* tweaked LinkPreview's preview area to use that style
2011-03-09 17:43:31 -08:00
Brion Vibber cecc2576a5 Fixes for direct message form for JS changes to the main form 2011-03-09 16:55:52 -08:00
Brion Vibber 040baf291d Fix for input tab selection 2011-03-09 13:05:12 -08:00
Brion Vibber cbf16a4974 Bookmark and poll plugins' custom notice forms now do AJAX submit, with the resulting notice appearing in the timeline.
FormNoticeXHR now is triggered on any form labeled with class 'ajax-notice', so those other than the traditional notice form should work as long as they handle the AJAX submission and return a properly formatted notice.

Things to watch out for:
* to determine whether the resulting notice should show on the current timeline, the JS code needs to be able to check the author and such. Keeping the existing vcard bits helps for this!
* the notice form submission stuff clears out inputs from your form -- test to make sure this behaves correctly
* error messages returned from the thingy _should_ come through, but this needs more testing for consistency
* while form components that aren't in a custom form should just be ignored, this should be tested more. (eg there's no location or attachment box for poll or bookmark plugins)
* NoticeListItem isn't currently reachable via autoloader -- touch NoticeList explicitly before calling into it for now.
2011-03-08 15:10:30 -08:00
Brion Vibber 28809035d0 Replace explicit FormXHR setup for a bunch of simple AJAX form submissions with adding the 'ajax' class on them.
This avoids having to add extra custom JS bits just to initialize forms using the common AJAX submission path.
2011-03-08 13:58:28 -08:00
Brion Vibber 90f1cfcfc0 Poll plugin: make the polling response form submit via AJAX and return the results.
Now, any form marked with 'ajax' class will get the simple FormXHR treatment. Should help cut down on code that just adds that into individual forms.
2011-03-08 13:45:51 -08:00
Brion Vibber 0c2289fb2f Avoid AJAX fetch delay for inline replies when possible; we clone a copy of the notice form skeleton at initialization, then insert it in place instead of fetching a new one. 2011-03-07 12:18:46 -08:00
Evan Prodromou cf1a4d8292 Input form switcher works
This change adds the input form switcher, which adds a navigation menu
across the top of the input form, letting you switch between different kinds of input.

The input menu doesn't yet look like a nice set of tabs; it could use some love.
2011-03-07 04:57:49 -05:00
Brion Vibber 2fa95144ed Cleanup & minification for migration to reusable notice form in inline replies. Yay! 2011-03-04 15:00:20 -08:00
Brion Vibber a1002cc107 Work in progress: inline reply form reusing the main reply form now inserts the successful result more or less right 2011-03-04 14:58:30 -08:00
Brion Vibber 5358f78e82 Reusable notice form fixes for geolocation 2011-03-04 14:27:55 -08:00
Brion Vibber 9689bda21c Loading the original form instead of faking up our own. Sorta works but not pretty :D 2011-03-04 14:11:11 -08:00
Brion Vibber b68f8643a2 Kill some more hardcoded ids... 2011-03-04 13:53:41 -08:00
Brion Vibber 56d5c4a4d1 More hardcoded id cleanup in notice form... 2011-03-04 13:40:33 -08:00
Brion Vibber e7662bb1d9 Moving bit by bit more towards reusable forms... per-form-izing some of the location setup (not all yet) 2011-03-03 17:58:35 -08:00
Brion Vibber cd20190ba5 Remove hardcoded #notice_action-submit from JS/CSS (prep for reusable notice forms) 2011-03-03 17:48:16 -08:00
Brion Vibber 9d40c8f835 Pulling out some more #-references to per-form items 2011-03-03 17:39:37 -08:00
Brion Vibber b58aa29168 Notice form cleanup: removing hardcoded id from counter references; prep for reusable notice forms. 2011-03-03 17:15:17 -08:00
Brion Vibber f94a5e1a6a Notice form cleanup: drop use of id for #notice_data-text (prep for reusable notice form) 2011-03-03 17:05:19 -08:00
Brion Vibber 1ff17f0ed9 Notice form cleanup: removing hardcoded IDs from attachment handling (prep for reusable notice forms) 2011-03-03 16:56:54 -08:00
Brion Vibber 488230c3e1 Drop auto-focusing of the notice form. 2011-03-03 16:15:28 -08:00
Brion Vibber 822f08e3ed Kill 'hit return to send'... 2011-03-03 16:14:36 -08:00
Brion Vibber 6f73b2870b Rework geolocation status display so you can actually tell what it's doing and whether a location will be posted.
Goes in along with the file attachment info, below the notice box. Still needs to be generalized to work with multiple forms.
2011-03-03 15:21:27 -08:00
Brion Vibber 5a404ee713 'Comment' -> 'Reply' in inline comment/reply messages 2011-03-03 12:26:07 -08:00
Brion Vibber 018b11a883 Fix for realtime vs threaded reply fix 2011-03-01 16:29:00 -08:00
Brion Vibber 764d069ccd Clean up threaded notices vs replies classes, and fixed realtime's threaded behavior to only run on threaded lists 2011-03-01 16:08:37 -08:00
Brion Vibber 9fd2ee86f3 Inline reply work for threaded lists in realtime 2011-03-01 16:04:11 -08:00
Brion Vibber c6521db620 Fix for timeline insert on primary AJAX post: only insert on the first, primary timeline. Don't insert on sub-timelines for replies! 2011-03-01 15:24:44 -08:00
Brion Vibber db4ab2cd92 When canceling out of inline reply field and there are no other replies, drop the section 2011-03-01 14:26:11 -08:00
Brion Vibber e6c972ebcb Inline replies: drop the box if tabbing out and no text 2011-03-01 14:24:06 -08:00
Brion Vibber c0dcd73379 Inline replies: fix replies on repeats, placeholder re-add when replying to a reply 2011-03-01 13:49:13 -08:00
Brion Vibber d01648248e Inline replies now do ajaxy submit. Neat! Not 100% perfect though 2011-02-28 16:38:44 -08:00
Brion Vibber f109d15c28 avoid hardcoding action & session token; pull them from the main posting form for now 2011-02-28 16:24:51 -08:00
Brion Vibber 59a0b2a82d Merge branch '1.0.x' of gitorious.org:statusnet/mainline into inline-comments
Conflicts:
	js/util.min.js
2011-02-28 16:18:38 -08:00
Brion Vibber 62712b794a More interactive magic for inline replies: placeholder at the end of list 2011-02-28 16:13:16 -08:00
Brion Vibber e89bffc3f1 Work in progress: setting up inline reply mini-form in js 2011-02-28 15:38:54 -08:00
Brion Vibber ae492c7132 Revert jQuery Form to r2.17 -- the latest fails with our Meteor stuff the way it tweaks document.domain (which also causes other AJAX-related problems and needs to be destroyed one of these days...) 2011-02-08 22:28:23 -08:00
Brion Vibber b2f4a02377 Update jquery.form.js to 2.63 -- 2.60 fixed our Opera regression per issue #3015
Thanks to the fine folks at http://forum.jquery.com/topic/regression-form-plugin-ajaxform-cannot-access-xml-return-data-in-opera#14737000001950332 :D
2011-01-31 11:02:29 -08:00
Brion Vibber 9fcad91d8d Ticket #3014: check upload size limits client-side in supporting browsers
Tested successfully in:
* Firefox 4.0b9
* Safari 5.0.5
* Chrome 8.0.522
2011-01-25 16:26:56 -08:00
Brion Vibber 19a3b28898 Remove json2 author's "don't hotlink my script pls" alert line from our local copy of json2.js :D
Added json2.min.js to the makefile so it can be updated easily when json2.js changes.
2011-01-05 09:39:36 -08:00
Brion Vibber e0606d3eca Break xbImportNode.js and geometa.js back out of util.js; the Makefile in js has been updated to combine them with util.js source when building util.min.js
Revert "combine our standard scripts into one big script"

This reverts parts of commit 0c5ca46ba3.
2010-12-22 15:22:02 -08:00
Brion Vibber 46d9496ee6 Tickets #2112, 2333, 1677, 2362, 2831: fix AJAX form posting on SSL page views with ssl=sometimes
These have been failing for ages due to our outputting full URLs all the time, usually with the default protocol instead of the current one.
Forms would get output with an http: URL in their contents even when destined for an HTTPS page; while a regular form submission would just warn you about the secure->insecure transition, the AJAX code was failing outright and then not bothering to fall back to the regular submission.

I found it was easy to detect the mismatch -- just check the target URL and the current page's protocol before submitting.

Since failing over to non-AJAX submission to the HTTP URL throws up a warning, I figured it'd be easier (and much nicer for users) to just let it rewrite the target URL to use the secure protocol & hostname before doing the final submit.
This check is now automatically done for anything that calls SN.U.FormXHR() -- making most of our buttons on notices and profile/group headers work naturally.
The notice form setup code also runs the rewrite, which gets posting working without an error dialog.

I'd prefer in the long run to simply use relative URLs in most of our output; it avoids this problem completely and lets users simply stay in the current protocol mode instead of being constantly switched back to HTTP when clicking around.
(Note that folks using the SSLAlways extension to Firefox, for instance, will have their browsers constantly sending them back to HTTP pages, mimicking the desired user experience even though we haven't fully implemented it. These folks are likely going to be a lot happier with forms that submit correctly to go along with it!)
2010-12-16 17:02:02 -08:00
Brion Vibber 532178e3ee Fix for ticket #2910: fix inconsistencies in notice posting response display that broke help command, could be generally wonky
Previous code was importing nodes from the XHR result into current document, then pulling text content of what might be the right element, then concat'ing that straight into HTML. Eww! Now pulling the text content straight from the XHR result -- same element that we check for existence of -- and using jQuery's own text() to do the getting and setting of text. Also note that some browsers might have been pulling HTML instead of text, or other funkiness.
2010-12-16 16:18:49 -08:00
Brion Vibber f901c25012 Add lots of doc comments to util.js. Most stuff makes some kind of stuff, but some is kinda.... funky :D
These comments are all stripped during minification, so util.min.js remains unchanged.
2010-12-16 15:34:51 -08:00
Brion Vibber 364bc6e642 work in progress 2010-12-16 15:04:48 -08:00
Brion Vibber b7f43c8127 Makefile to re-generate util.min.js (needs yui-compressor in path) 2010-12-15 15:00:44 -08:00
Brion Vibber 2836c4e561 Fix for ticket #2942: character counter now updates on cut and paste operations made with mouse or menu
This uses the 'copy' and 'paste' DOM events to trigger a counter update. I haven't had a chance to 100% confirm that middle-button click on X11 triggers the event, but it ought to.
Cut and paste events from context menu and main edit menu known good in:
* Firefox 4.08b-pre
* IE 9 preview 7
* IE 8 current
* Chrome 8 beta current
* Safari 5.0.3

Opera is listed as not supporting these events, oh well.

Note that using a *delete* command from a menu doesn't trigger an event. Sigh, you can't win everything.
2010-12-15 14:57:09 -08:00
Brion Vibber 5d9d0d7349 Ticket #2912 further cleanup: use JS on emailsettings form to help connect the 'I want to post by email' checkbox with the controls for adding or removing a post-by-email alias.
Now, when you first come up the checkbox will most likely be off and the button to create an address is grayed out.
Checking the box enables use of the 'new' button to generate an email address -- it's left disabled until you check the box, so you can't accidentally trip it.
Actually adding the address now enables the post-by-mail option, as well, thus ensuring that it's saved. WARNING: OTHER CHANGES ON THE FORM WILL STILL BE LOST.
Removing the address now disables the post-by-mail option, so it's not sitting around confusingly enabled but useless.

You can still disable the checkbox manually without removing the address, in case you want to keep it for later.
It's also still possible to actually save it in the state where the option is enabled, but there's no configured address, but that shouldn't happen too often. Possibly that should be prevented outright though.
2010-12-01 14:23:56 -08:00
Brion Vibber 92880b41e4 Update util.min.js for attachment preview on Firefox, Chrome 2010-11-24 17:36:40 -08:00
Brion Vibber d075fac7b8 Preview thumbnails of uploaded image attachments before posting on supporting browsers.
Tested working so far:
* Firefox 3.6 and 4.0 (FileReader -> data URL)
* Chrome 8 (createObjectURL; FileReader also works)

Tested with limited support:
* Safari 5.0.3 (no preview, but we can show type and size)

Tested and known not to support FileAPI, keeps current behavior:
* Opera 11 beta
2010-11-24 12:20:25 -08:00