Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bug #4771 #1

Closed
wants to merge 3 commits into from
Closed

bug #4771 #1

wants to merge 3 commits into from

Conversation

cmcculloh
Copy link
Contributor

The problem here is that when the fx are being used and a transition animation is triggered between two tabs and the user immediately clicks repeatedly on other tabs (or maybe the same tab, hard to tell) before the rotation is complete you end up with two 'content slots' stacked on top of each other with the tabs at the bottom of the second one. To fix this, I made it so clicking again does nothing. Once the rotation is finished clicking is re-enabled.

I'm sure there is probably a better way to do this (make clicking a second time either abort the original transition, or immediately complete the original transition and begin a new transition?) but this is the best I could do with the limited time I have...

http://dev.jqueryui.com/ticket/4771

@scottgonzalez
Copy link
Member

We're removing rotation from the tabs plugin.

@cmcculloh
Copy link
Contributor Author

Yep. I realized after I made the commit comment that my use of the term "rotation" was going to be confusing. What I meant is "transition"(?). The rotation plugin has nothing to do with this bug. If you have fx enabled so that when the user clicks from one tab to another the active one fades out and the content for the one they clicked fades in if the user clicks too rapidly on several tabs you very consistently get a bug where the content of two tabs "stacks" on top of eachother. Again, this has absolutely nothing to do with rotation. I was confusingly calling the "transition" a "rotation". I apologize for the incorrect use of terminology, this has nothing to do with the rotation plugin.

@cmcculloh
Copy link
Contributor Author

Unless by "removing rotation" you mean you are removing the ability to have transition effects when the user changes which tab they are on?

@scottgonzalez
Copy link
Member

No, I meant that we're removing the actual rotation.

Could this be reduced to something like: if ( this.panels.filter( ":animated" ).length ) { return false; } ?

@cmcculloh
Copy link
Contributor Author

Possibly. I'll try that to get something like that working. I'd never heard of the :animated selector (awesome!). Thanks!

@cmcculloh
Copy link
Contributor Author

Fixed it better. Issued new pull request. Closing this one. (I'm not sure if I'm following the right process here. Please slap my hand if I'm doing something wrong)

scottgonzalez referenced this pull request in scottgonzalez/jquery-ui Oct 14, 2011
@rxaviers rxaviers mentioned this pull request Jan 6, 2015
bnf added a commit to bnf/typo3 that referenced this pull request Aug 12, 2022
Yarn has been added to TYPO3 back in 2017 because
npm shrinkwrap files were not stable and package-lock.json
and `npm ci` not yet established.

By now the yarn version in TYPO3 (v1) got outdated
and an update to yarn v3 would be required sooner
or later. The update to yarn v3 brings quite some
problems for the TYPO3 codebase:

 - Yarn v3 is executed/proxied through yarn v1
   (installed on the developer machine) – therefore the
   yarn v3 executable needs to be tracked within git.
   See https://yarnpkg.com/cli/set/version#details

 - Yarn v3 pulls in @types/node (through the "got" package) for
   unknown reasons, causing clashes with TypeScript declarations
   for requirejs (window.require vs node's require())

As package-lock.json is solid thesedays, there is no real
need to depend on yarn anymore. We basically switch
to npm because that switch is way more straightforward than
migrating to yarn v3 and it removes one dependency.

We also raise the required npm verson to v8 in order to
use package-lock.json v2 format and .nvmrc is updated to
suggest the recent nodejs v16 LTS release.

Note that node v14 and npm v6 may still be used to install
dependencies and to run grunt build (package-lock.json v2 is
backwards compatible), but npm v8 is required for updating packages.

Note that `npm install` properly honors `package-lock.json`
these days (no implicit version upgrades due to the lock file),
but is faster than `npm ci`, therefore it is used in `grunt build`
and runTests.sh for all developer oriented build-targets.
All CI checks use `npm ci` to enfore a clean install.

Executed Commands:

  cd Build/
  # be sure the node_modules folder dir and is updated
  yarn install
  sed -i 's/"yarn": "^1.22.0"/"npm": ">=7.0.0 <9.0.0"/' package.json
  rm -f package-lock.json
  # npm install >= v7 can read yarn.lock and will create
  # package-lock.json as a result
  npm install
  git add package-lock.json
  git rm -f yarn.lock
  npm remove "jquery-ui"
  # The use of `git@` in the HTTPS URLs is a workaround for NPM's
  # auto-rewrite that results in an SSH URL being used instead,
  # which fails to install in CI.
  # See npm/cli#2610 for more information.
  npm install "git+https://git@github.com/jquery/jquery-ui#1.11.4"
  # Fix fsevents not being installed
  npm install rollup@~2.32.0
  # Let npm build a new, fully clean tree, without old yarn cruft
  rm -rf node_modules/
  npm install
  grunt default

Resolves: #96355
Related. #83038
Releases: main
Change-Id: I88c1ecb1b12dcd117ac4200307af72d330c76d27
reviewtypo3org pushed a commit to TYPO3/typo3 that referenced this pull request Aug 23, 2022
Yarn has been added to TYPO3 back in 2017 because
npm shrinkwrap files were not stable and package-lock.json
and `npm ci` not yet established.

By now the yarn version in TYPO3 (v1) got outdated
and an update to yarn v3 would be required sooner
or later. The update to yarn v3 brings quite some
problems for the TYPO3 codebase:

 - Yarn v3 is executed/proxied through yarn v1
   (installed on the developer machine) – therefore the
   yarn v3 executable needs to be tracked within git.
   See https://yarnpkg.com/cli/set/version#details

 - Yarn v3 pulls in @types/node (through the "got" package) for
   unknown reasons, causing clashes with TypeScript declarations
   for requirejs (window.require vs node's require())

As package-lock.json is solid thesedays, there is no real
need to depend on yarn anymore. We basically switch
to npm because that switch is way more straightforward than
migrating to yarn v3 and it removes one dependency.

Note that `npm install` properly honors `package-lock.json`
these days (no implicit version upgrades due to the lock file),
but is faster than `npm ci`, therefore it is used in `grunt build`
and runTests.sh for all developer oriented build-targets.
All CI checks use `npm ci` to enfore a clean install.

We set the required npm verson to v8 in order to use the
newest package-lock.json v3 format and .nvmrc is updated to
suggest the recent nodejs v16 LTS release, as npm v8 is
shipped with nodejs v16 by default.

Note that node v14 may still be used to compile packages, but
npm v8 is needed for dependency installation (installable
via `npm install -g npm` in node v14 installations). For that
reason the CI docker images are updated to use nodejs v16
instead of nodejs v14, see following ticket for details:
https://git.typo3.org/typo3/CI/testing-infrastructure/-/issues/3

Executed Commands:

  cd Build/
  # be sure the node_modules folder dir and is updated
  yarn install
  sed -i 's/"yarn": "^1.22.0"/"npm": ">=8.0.0 <9.0.0"/' package.json
  rm -f package-lock.json
  # npm install >= v7 can read yarn.lock and will create
  # package-lock.json as a result
  npm install
  git add package-lock.json
  git rm -f yarn.lock
  npm remove "jquery-ui"
  # The use of `git@` in the HTTPS URLs is a workaround for NPM's
  # auto-rewrite that results in an SSH URL being used instead,
  # which fails to install in CI.
  # See npm/cli#2610 for more information.
  npm install "git+https://git@github.com/jquery/jquery-ui#1.11.4"
  # Fix fsevents not being installed
  npm install rollup@~2.32.0
  # Explicitly pull in popperjs which would be included by npm's
  # resolver in npm >8.5
  npm install @popperjs/core@^2.11.6
  # Let npm build a new, fully clean tree, without old yarn cruft
  rm -rf node_modules/
  npm install
  grunt default

Resolves: #96355
Related: #83038
Releases: main
Change-Id: I88c1ecb1b12dcd117ac4200307af72d330c76d27
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/72642
Tested-by: Benni Mack <benni@typo3.org>
Tested-by: core-ci <typo3@b13.com>
Tested-by: Stefan Bürk <stefan@buerk.tech>
Tested-by: Benjamin Franzke <bfr@qbus.de>
Reviewed-by: Benni Mack <benni@typo3.org>
Reviewed-by: Stefan Bürk <stefan@buerk.tech>
Reviewed-by: Benjamin Franzke <bfr@qbus.de>
TYPO3IncTeam pushed a commit to TYPO3-CMS/core that referenced this pull request Aug 23, 2022
Yarn has been added to TYPO3 back in 2017 because
npm shrinkwrap files were not stable and package-lock.json
and `npm ci` not yet established.

By now the yarn version in TYPO3 (v1) got outdated
and an update to yarn v3 would be required sooner
or later. The update to yarn v3 brings quite some
problems for the TYPO3 codebase:

 - Yarn v3 is executed/proxied through yarn v1
   (installed on the developer machine) – therefore the
   yarn v3 executable needs to be tracked within git.
   See https://yarnpkg.com/cli/set/version#details

 - Yarn v3 pulls in @types/node (through the "got" package) for
   unknown reasons, causing clashes with TypeScript declarations
   for requirejs (window.require vs node's require())

As package-lock.json is solid thesedays, there is no real
need to depend on yarn anymore. We basically switch
to npm because that switch is way more straightforward than
migrating to yarn v3 and it removes one dependency.

Note that `npm install` properly honors `package-lock.json`
these days (no implicit version upgrades due to the lock file),
but is faster than `npm ci`, therefore it is used in `grunt build`
and runTests.sh for all developer oriented build-targets.
All CI checks use `npm ci` to enfore a clean install.

We set the required npm verson to v8 in order to use the
newest package-lock.json v3 format and .nvmrc is updated to
suggest the recent nodejs v16 LTS release, as npm v8 is
shipped with nodejs v16 by default.

Note that node v14 may still be used to compile packages, but
npm v8 is needed for dependency installation (installable
via `npm install -g npm` in node v14 installations). For that
reason the CI docker images are updated to use nodejs v16
instead of nodejs v14, see following ticket for details:
https://git.typo3.org/typo3/CI/testing-infrastructure/-/issues/3

Executed Commands:

  cd Build/
  # be sure the node_modules folder dir and is updated
  yarn install
  sed -i 's/"yarn": "^1.22.0"/"npm": ">=8.0.0 <9.0.0"/' package.json
  rm -f package-lock.json
  # npm install >= v7 can read yarn.lock and will create
  # package-lock.json as a result
  npm install
  git add package-lock.json
  git rm -f yarn.lock
  npm remove "jquery-ui"
  # The use of `git@` in the HTTPS URLs is a workaround for NPM's
  # auto-rewrite that results in an SSH URL being used instead,
  # which fails to install in CI.
  # See npm/cli#2610 for more information.
  npm install "git+https://git@github.com/jquery/jquery-ui#1.11.4"
  # Fix fsevents not being installed
  npm install rollup@~2.32.0
  # Explicitly pull in popperjs which would be included by npm's
  # resolver in npm >8.5
  npm install @popperjs/core@^2.11.6
  # Let npm build a new, fully clean tree, without old yarn cruft
  rm -rf node_modules/
  npm install
  grunt default

Resolves: #96355
Related: #83038
Releases: main
Change-Id: I88c1ecb1b12dcd117ac4200307af72d330c76d27
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/72642
Tested-by: Benni Mack <benni@typo3.org>
Tested-by: core-ci <typo3@b13.com>
Tested-by: Stefan Bürk <stefan@buerk.tech>
Tested-by: Benjamin Franzke <bfr@qbus.de>
Reviewed-by: Benni Mack <benni@typo3.org>
Reviewed-by: Stefan Bürk <stefan@buerk.tech>
Reviewed-by: Benjamin Franzke <bfr@qbus.de>
TYPO3IncTeam pushed a commit to TYPO3-CMS/t3editor that referenced this pull request Aug 23, 2022
Yarn has been added to TYPO3 back in 2017 because
npm shrinkwrap files were not stable and package-lock.json
and `npm ci` not yet established.

By now the yarn version in TYPO3 (v1) got outdated
and an update to yarn v3 would be required sooner
or later. The update to yarn v3 brings quite some
problems for the TYPO3 codebase:

 - Yarn v3 is executed/proxied through yarn v1
   (installed on the developer machine) – therefore the
   yarn v3 executable needs to be tracked within git.
   See https://yarnpkg.com/cli/set/version#details

 - Yarn v3 pulls in @types/node (through the "got" package) for
   unknown reasons, causing clashes with TypeScript declarations
   for requirejs (window.require vs node's require())

As package-lock.json is solid thesedays, there is no real
need to depend on yarn anymore. We basically switch
to npm because that switch is way more straightforward than
migrating to yarn v3 and it removes one dependency.

Note that `npm install` properly honors `package-lock.json`
these days (no implicit version upgrades due to the lock file),
but is faster than `npm ci`, therefore it is used in `grunt build`
and runTests.sh for all developer oriented build-targets.
All CI checks use `npm ci` to enfore a clean install.

We set the required npm verson to v8 in order to use the
newest package-lock.json v3 format and .nvmrc is updated to
suggest the recent nodejs v16 LTS release, as npm v8 is
shipped with nodejs v16 by default.

Note that node v14 may still be used to compile packages, but
npm v8 is needed for dependency installation (installable
via `npm install -g npm` in node v14 installations). For that
reason the CI docker images are updated to use nodejs v16
instead of nodejs v14, see following ticket for details:
https://git.typo3.org/typo3/CI/testing-infrastructure/-/issues/3

Executed Commands:

  cd Build/
  # be sure the node_modules folder dir and is updated
  yarn install
  sed -i 's/"yarn": "^1.22.0"/"npm": ">=8.0.0 <9.0.0"/' package.json
  rm -f package-lock.json
  # npm install >= v7 can read yarn.lock and will create
  # package-lock.json as a result
  npm install
  git add package-lock.json
  git rm -f yarn.lock
  npm remove "jquery-ui"
  # The use of `git@` in the HTTPS URLs is a workaround for NPM's
  # auto-rewrite that results in an SSH URL being used instead,
  # which fails to install in CI.
  # See npm/cli#2610 for more information.
  npm install "git+https://git@github.com/jquery/jquery-ui#1.11.4"
  # Fix fsevents not being installed
  npm install rollup@~2.32.0
  # Explicitly pull in popperjs which would be included by npm's
  # resolver in npm >8.5
  npm install @popperjs/core@^2.11.6
  # Let npm build a new, fully clean tree, without old yarn cruft
  rm -rf node_modules/
  npm install
  grunt default

Resolves: #96355
Related: #83038
Releases: main
Change-Id: I88c1ecb1b12dcd117ac4200307af72d330c76d27
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/72642
Tested-by: Benni Mack <benni@typo3.org>
Tested-by: core-ci <typo3@b13.com>
Tested-by: Stefan Bürk <stefan@buerk.tech>
Tested-by: Benjamin Franzke <bfr@qbus.de>
Reviewed-by: Benni Mack <benni@typo3.org>
Reviewed-by: Stefan Bürk <stefan@buerk.tech>
Reviewed-by: Benjamin Franzke <bfr@qbus.de>
This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants