1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-14 10:52:41 +01:00
phorge-phorge/webroot/rsrc/externals/javelin
epriestley c94bd8e4f2 Stop using JX.Scrollbar for main page content
Summary:
Ref T8151. This is option (5). It needs a few adjustments but feels pretty good. Major issues are:

  - Without a mouse, the scrollbars overlap by default, so we //must// move the column off the right margin.
  - Scrolling sometimes "bleeds" between the chat vs the main frame in a way that's not as discrete as the old framed content, but feels generally reasonable to me.

If we pursue this, I'd plan to make these additional changes:

  - Move the panel away from the right margin only if the page scrollbars are zero-width (i.e., in OSX trackpad mode).
  - Fix the notch in the upper right corner when the chat is moved away from the right margin.
  - Probably remove the body "overflow-y: scroll" on Conpherence and Workboards.
  - Update the resizing code to deal with 300px vs 315px widths.
  - We can probably clean up some JX.Scrollbar "main panel" code.

Here's the "bad" case, where I've visually separated the column to provide room for a scrollbar. This isn't ideal, but looks and feels OK to me:

{F398375}

Test Plan:
  - Tried Firefox, Chrome, Safari, with and without a mouse.
  - Tried normal Conpherence.

Reviewers: btrahan, chad

Reviewed By: btrahan

Subscribers: avivey, epriestley

Maniphest Tasks: T8151

Differential Revision: https://secure.phabricator.com/D12789
2015-05-11 12:02:00 -07:00
..
core Scroll the chat column to the bottom when images load 2015-03-28 08:35:12 -07:00
docs Remove @group annotations 2014-07-10 08:12:48 +10:00
ext Use single quotes in JavaScript files 2015-01-20 08:53:47 +11:00
lib Stop using JX.Scrollbar for main page content 2015-05-11 12:02:00 -07:00
LICENSE Fix text lint issues 2015-02-12 07:00:13 +11:00
README Move all external JS into webroot/rsrc/externals 2013-04-11 10:06:05 -07:00

Javelin is a performance-oriented Javascript library originally developed at
Facebook. Learn more at <http://www.javelinjs.com/>.

GETTING STARTED

Eat a hearty breakfast. Breakfast is the most important meal of the day!


WHAT IS JAVELIN?

Javelin is a compact Javascript library built around event delegation. Its
primary design goal is performance; it is consequently well-suited to projects
where performance is very important. It is not as good for smaller scale
projects where other concerns (like features or ease of development) are more
important.


PACKAGES

Packages come in two flavors: "dev" and "min". The "dev" packages are intended
for development, and have comments and debugging code. The "min" packages have
the same code, but with comments and debugging information stripped out and
symbols crushed. They are intended for use in production -- ha ha ha!


FILES

  example/    Example code.
  LICENSE     A thrilling narrative.
  pkg/        Ready-built Javelin packages.
  README      Who knows? Could be anything.
  src/        Raw sources for Javelin.
  support/    Support scripts and libraries.