diff --git a/.ci/jenkins/api-py3 b/.ci/jenkins/api-py3 new file mode 120000 index 000000000000..9e5bfb42d239 --- /dev/null +++ b/.ci/jenkins/api-py3 @@ -0,0 +1 @@ +api \ No newline at end of file diff --git a/.ci/jenkins/api-py3/run_tests.sh b/.ci/jenkins/api-py3/run_tests.sh deleted file mode 100755 index 24790d0b7206..000000000000 --- a/.ci/jenkins/api-py3/run_tests.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -./run_tests.sh --dockerize --python3 --db postgres --clean_pyc --skip_flakey_fails -api "$@" diff --git a/.ci/jenkins/framework-py3 b/.ci/jenkins/framework-py3 new file mode 120000 index 000000000000..e3939d229ced --- /dev/null +++ b/.ci/jenkins/framework-py3 @@ -0,0 +1 @@ +framework \ No newline at end of file diff --git a/.ci/jenkins/framework-py3/run_tests.sh b/.ci/jenkins/framework-py3/run_tests.sh deleted file mode 100755 index f8bfe97335d6..000000000000 --- a/.ci/jenkins/framework-py3/run_tests.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -./run_tests.sh --dockerize --python3 --db postgres --clean_pyc --framework "$@" diff --git a/.ci/jenkins/integration-py3 b/.ci/jenkins/integration-py3 new file mode 120000 index 000000000000..c0bfe0d4f942 --- /dev/null +++ b/.ci/jenkins/integration-py3 @@ -0,0 +1 @@ +integration \ No newline at end of file diff --git a/.ci/jenkins/integration-py3/run_tests.sh b/.ci/jenkins/integration-py3/run_tests.sh deleted file mode 100755 index ffc6c87e98cf..000000000000 --- a/.ci/jenkins/integration-py3/run_tests.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -DOCKER_RUN_EXTRA_ARGS="--privileged" ./run_tests.sh --dockerize --python3 --db postgres --clean_pyc --integration "$@" diff --git a/.ci/jenkins/main-tools-py3 b/.ci/jenkins/main-tools-py3 new file mode 120000 index 000000000000..49589fdd3a88 --- /dev/null +++ b/.ci/jenkins/main-tools-py3 @@ -0,0 +1 @@ +main-tools \ No newline at end of file diff --git a/.ci/jenkins/main-tools-py3/run_tests.sh b/.ci/jenkins/main-tools-py3/run_tests.sh deleted file mode 100755 index 442b15cdf2d2..000000000000 --- a/.ci/jenkins/main-tools-py3/run_tests.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -./run_tests.sh --dockerize --python3 --db postgres --clean_pyc -main "$@" diff --git a/.ci/jenkins/selenium-compose/run_galaxy.bash b/.ci/jenkins/selenium-compose/run_galaxy.bash index aaf10b77401a..c16901324c14 100755 --- a/.ci/jenkins/selenium-compose/run_galaxy.bash +++ b/.ci/jenkins/selenium-compose/run_galaxy.bash @@ -20,8 +20,7 @@ virtualenv "$GALAXY_VIRTUAL_ENV" chown -R "$GALAXY_TEST_UID:$GALAXY_TEST_UID" "$GALAXY_VIRTUAL_ENV" cd /galaxy -HOME=/galaxy -sudo -E -u "#${GALAXY_TEST_UID}" ./scripts/common_startup.sh || { echo "common_startup.sh failed"; exit 1; } +sudo -E -H -u "#${GALAXY_TEST_UID}" ./scripts/common_startup.sh || { echo "common_startup.sh failed"; exit 1; } echo "Waiting for postgres to become available" while ! nc -z postgres 5432; @@ -34,7 +33,7 @@ echo "Creating postgres database for Galaxy" createdb -w -U postgres -h postgres galaxy echo "Starting and waiting for Galaxy daemon(s)" -sudo -E -u "#${GALAXY_TEST_UID}" GALAXY_RUN_ALL=1 bash "$GALAXY_ROOT/run.sh" --daemon --wait +sudo -E -H -u "#${GALAXY_TEST_UID}" GALAXY_RUN_ALL=1 bash "$GALAXY_ROOT/run.sh" --daemon --wait echo "Galaxy daemon ready, monitoring Galaxy logs" tail -f "$GALAXY_ROOT/main.log" diff --git a/.ci/jenkins/selenium-py3 b/.ci/jenkins/selenium-py3 new file mode 120000 index 000000000000..954f0db0bc08 --- /dev/null +++ b/.ci/jenkins/selenium-py3 @@ -0,0 +1 @@ +selenium \ No newline at end of file diff --git a/.ci/jenkins/selenium-py3/run_tests.sh b/.ci/jenkins/selenium-py3/run_tests.sh deleted file mode 100755 index 827151835f64..000000000000 --- a/.ci/jenkins/selenium-py3/run_tests.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/bash - -# Enable retries on tests to reduce chances of transient failures. -: ${GALAXY_TEST_SELENIUM_RETRIES:=1} - -# If in Jenkins environment, use it for artifacts. -if [ -n "$BUILD_NUMBER" ]; -then - : ${GALAXY_TEST_ERRORS_DIRECTORY:=${BUILD_NUMBER}-test-errors} - : ${GALAXY_TEST_SCREENSHOTS_DIRECTORY:=${BUILD_NUMBER}-test-screenshots} -else - : ${GALAXY_TEST_ERRORS_DIRECTORY:=database/test-errors} - : ${GALAXY_TEST_SCREENSHOTS_DIRECTORY:=database/test-screenshots} -fi - -mkdir -p "$GALAXY_TEST_ERRORS_DIRECTORY" -mkdir -p "$GALAXY_TEST_SCREENSHOTS_DIRECTORY" - -mkdir -p ~/.jenkins-yarn-cache -YARN_CACHE_FOLDER=~/.jenkins-yarn-cache - -# Start Selenium server in the test Docker container. -DOCKER_RUN_EXTRA_ARGS="${DOCKER_RUN_EXTRA_ARGS} --shm-size=2g -v $YARN_CACHE_FOLDER:$YARN_CACHE_FOLDER -e YARN_CACHE_FOLDER=$YARN_CACHE_FOLDER -e USE_SELENIUM=1 -e GALAXY_TEST_SELENIUM_RETRIES=${GALAXY_TEST_SELENIUM_RETRIES} -e GALAXY_TEST_ERRORS_DIRECTORY=${GALAXY_TEST_ERRORS_DIRECTORY} -e GALAXY_TEST_SCREENSHOTS_DIRECTORY=${GALAXY_TEST_SCREENSHOTS_DIRECTORY}" -export DOCKER_RUN_EXTRA_ARGS - -./run_tests.sh --dockerize --python3 --db postgres --clean_pyc --skip_flakey_fails --selenium "$@" diff --git a/.circleci/config.yml b/.circleci/config.yml index 7904c41fac37..b83111cc5753 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -81,22 +81,6 @@ jobs: key: v1-repo-{{ .Environment.CIRCLE_SHA1 }} paths: - ~/repo - py27_lint: - docker: - - image: circleci/python:2.7 - <<: *set_workdir - steps: - - *restore_repo_cache - - *install_tox - - run: tox -e py27-lint - py27_unit: - docker: - - image: circleci/python:2.7 - <<: *set_workdir - steps: - - *restore_repo_cache - - *install_tox - - run: tox -e py27-unit py35_docstring: docker: - image: circleci/python:3.5 @@ -105,14 +89,6 @@ jobs: - *restore_repo_cache - *install_tox - run: tox -e py35-lint_docstring_include_list - py27_first_startup: - docker: - - image: circleci/python:2.7 - <<: *set_workdir - steps: - - *restore_repo_cache - - *install_tox - - run: tox -e py27-first_startup py35_lint: docker: - image: circleci/python:3.5 @@ -135,6 +111,9 @@ jobs: <<: *set_workdir steps: - *restore_repo_cache + # Use this job to test the latest migrations + - run: wget -q https://github.com/jmchilton/galaxy-downloads/raw/master/db_gx_rev_0141.sqlite + - run: mv db_gx_rev_0141.sqlite database/universe.sqlite - *install_tox - run: tox -e py35-first_startup validate_test_tools: @@ -190,12 +169,6 @@ workflows: get_code_and_test: jobs: - get_code - - py27_lint: - <<: *requires_get_code - - py27_unit: - <<: *requires_get_code - - py27_first_startup: - <<: *requires_get_code - py35_docstring: <<: *requires_get_code - py35_lint: diff --git a/.github/workflows/converter_tests.yaml b/.github/workflows/converter_tests.yaml index a8cd3f3f7a45..8b20d095f3ae 100644 --- a/.github/workflows/converter_tests.yaml +++ b/.github/workflows/converter_tests.yaml @@ -9,9 +9,14 @@ jobs: matrix: python-version: [3.7] steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v2 with: - fetch-depth: 1 + path: 'galaxy root' + - name: Clone galaxyproject/galaxy-test-data + uses: actions/checkout@v2 + with: + repository: galaxyproject/galaxy-test-data + path: galaxy-test-data - uses: actions/setup-python@v1 with: python-version: ${{ matrix.python-version }} @@ -20,10 +25,10 @@ jobs: id: pip-cache with: path: ~/.cache/pip - key: pip-cache-${{ matrix.python-version }}-${{ hashFiles('requirements.txt') }} - - name: fetch test data - run: git clone https://github.com/galaxyproject/galaxy-test-data && cp -R galaxy-test-data/* test-data + key: pip-cache-${{ matrix.python-version }}-${{ hashFiles('galaxy root/requirements.txt') }} + - name: Move test data + run: rsync -av --remove-source-files --exclude .git galaxy-test-data/ 'galaxy root/test-data/' - name: Install planemo run: pip install planemo - name: Run tests - run: 'planemo test --galaxy_python_version ${{ matrix.python-version }} --galaxy_root . lib/galaxy/datatypes/converters/*xml' + run: planemo test --galaxy_python_version ${{ matrix.python-version }} --galaxy_root 'galaxy root' 'galaxy root'/lib/galaxy/datatypes/converters/*xml diff --git a/.github/workflows/integration.yaml b/.github/workflows/integration.yaml index 5530e5017bff..3bd0aaf4d697 100644 --- a/.github/workflows/integration.yaml +++ b/.github/workflows/integration.yaml @@ -2,8 +2,8 @@ name: Integration on: [push, pull_request] env: GALAXY_TEST_DBURI: 'postgres://postgres:postgres@localhost:5432/galaxy?client_encoding=utf8' + GALAXY_TEST_AMQP_URL: 'amqp://localhost:5672//' jobs: - test: name: Test runs-on: ubuntu-18.04 @@ -20,11 +20,22 @@ jobs: POSTGRES_DB: postgres ports: - 5432:5432 + rabbitmq: + image: rabbitmq + ports: + - 5672:5672 steps: + - name: Prune unused docker image, volumes and containers + run: docker system prune -a -f + - name: Clean dotnet folder for space + if: matrix.subset == 'kubernetes' + run: rm -Rf /usr/share/dotnet - name: Setup Minikube if: matrix.subset == 'kubernetes' id: minikube - uses: CodingNagger/minikube-setup-action@v1.0.2 + uses: CodingNagger/minikube-setup-action@v1.0.3 + with: + minikube-version: "1.9.0-0_amd64" - name: Launch Minikube if: matrix.subset == 'kubernetes' run: eval ${{ steps.minikube.outputs.launcher }} @@ -32,9 +43,8 @@ jobs: if: matrix.subset == 'kubernetes' run: | kubectl get pods - - uses: actions/checkout@v1 + - uses: actions/checkout@v2 with: - fetch-depth: 1 path: 'galaxy root' - uses: actions/setup-python@v1 with: @@ -44,6 +54,7 @@ jobs: id: pip-cache with: path: ~/.cache/pip - key: pip-cache-${{ matrix.python-version }}-${{ hashFiles('requirements.txt') }} + key: pip-cache-${{ matrix.python-version }}-${{ hashFiles('galaxy root/requirements.txt') }} - name: Run tests run: './run_tests.sh -integration test/integration -- -k "${{ matrix.subset }}"' + working-directory: 'galaxy root' diff --git a/.github/workflows/mulled.yaml b/.github/workflows/mulled.yaml index f31e310452b8..1bdcd1dfde06 100644 --- a/.github/workflows/mulled.yaml +++ b/.github/workflows/mulled.yaml @@ -9,19 +9,20 @@ jobs: matrix: python-version: [3.7] steps: - - name: Cache tox dir - uses: actions/cache@v1 - id: cache-tox-mulled - with: - path: .tox/mulled - key: tox-mulled-${{ matrix.python-version }} - - uses: actions/checkout@v1 + - uses: actions/checkout@v2 with: - fetch-depth: 1 + path: 'galaxy root' - uses: actions/setup-python@v1 with: python-version: ${{ matrix.python-version }} + - name: Cache pip dir + uses: actions/cache@v1 + id: pip-cache + with: + path: ~/.cache/pip + key: pip-cache-${{ matrix.python-version }}-${{ hashFiles('galaxy root/requirements.txt') }} - name: Install tox run: pip install tox - name: run tests run: tox -e mulled + working-directory: 'galaxy root' diff --git a/.github/workflows/osx_startup.yaml b/.github/workflows/osx_startup.yaml new file mode 100644 index 000000000000..f59525e812bd --- /dev/null +++ b/.github/workflows/osx_startup.yaml @@ -0,0 +1,28 @@ +name: OSX +on: [push, pull_request] +jobs: + + test: + name: Startup test + runs-on: macos-latest + steps: + - uses: actions/checkout@v2 + with: + path: 'galaxy root' + - name: Cache pip dir + uses: actions/cache@v1 + id: pip-cache + with: + path: ~/Library/Caches/pip + # scripts/common_startup.sh creates a conda env for Galaxy containing Python 3.6 + key: pip-cache-3.6-${{ hashFiles('galaxy root/requirements.txt') }} + - name: Install tox + run: pip install tox + - name: Install and activate miniconda # use this job to test using Python from a conda environment + uses: goanpeca/setup-miniconda@v1 + with: + activate-environment: '' + - name: run tests + run: tox -e first_startup + shell: bash -l {0} # need this to have CONDA_EXE set + working-directory: 'galaxy root' diff --git a/.github/workflows/toolshed.yaml b/.github/workflows/toolshed.yaml new file mode 100644 index 000000000000..38628962cea1 --- /dev/null +++ b/.github/workflows/toolshed.yaml @@ -0,0 +1,37 @@ +name: Toolshed +on: [push, pull_request] +env: + GALAXY_TEST_DBURI: 'postgres://postgres:postgres@localhost:5432/galaxy?client_encoding=utf8' + TOOL_SHED_TEST_DBURI: 'postgres://postgres:postgres@localhost:5432/toolshed?client_encoding=utf8' +jobs: + test: + name: Test + runs-on: ubuntu-18.04 + strategy: + matrix: + python-version: [3.7] + services: + postgres: + image: postgres:11 + env: + POSTGRES_USER: postgres + POSTGRES_PASSWORD: postgres + POSTGRES_DB: postgres + ports: + - 5432:5432 + steps: + - uses: actions/checkout@v2 + with: + path: 'galaxy root' + - uses: actions/setup-python@v1 + with: + python-version: ${{ matrix.python-version }} + - name: Cache pip dir + uses: actions/cache@v1 + id: pip-cache + with: + path: ~/.cache/pip + key: pip-cache-${{ matrix.python-version }}-${{ hashFiles('galaxy root/requirements.txt') }} + - name: Run tests + run: './run_tests.sh -toolshed' + working-directory: 'galaxy root' diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 942e8625b469..000000000000 --- a/.travis.yml +++ /dev/null @@ -1,30 +0,0 @@ -os: osx -# No version of Python is available via virtualenv on OS X workers, see https://github.com/travis-ci/travis-ci/issues/2312 -language: generic - -env: - - TOX_ENV=py27-first_startup - - TOX_ENV=py35-first_startup - -install: - - set -e - - pip install tox - - | - if [ "$TOX_ENV" == "py27-first_startup" ]; then - sh scripts/common_startup.sh - wget -q https://github.com/jmchilton/galaxy-downloads/raw/master/db_gx_rev_0127.sqlite - mv db_gx_rev_0127.sqlite database/universe.sqlite - sh manage_db.sh upgrade - elif [ "$TOX_ENV" == "py35-first_startup" ]; then - MINICONDA_URL="https://repo.anaconda.com/miniconda" - MINICONDA_FILE="Miniconda3-latest-MacOSX-x86_64.sh" - curl -L -O "${MINICONDA_URL}/${MINICONDA_FILE}" - bash $MINICONDA_FILE -b - ~/miniconda3/bin/conda create --yes --override-channels --channel conda-forge --channel defaults --name _galaxy_ 'python=3.5' 'pip>=9' 'virtualenv>=16' - . ~/miniconda3/bin/activate _galaxy_ - fi - -script: tox -e $TOX_ENV - -notifications: - email: false diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index 800d4762594d..d6507a7be425 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -86,6 +86,7 @@ The following individuals have contributed code to Galaxy: * Joachim Jacob * Xiaoqian Jiang * Jim Johnson +* Kaivan Kamali * Radhesh Kamath * Iyad Kandalaft * Jan Kanis diff --git a/README.rst b/README.rst index ac5af154f943..cc66ea4bcdb1 100644 --- a/README.rst +++ b/README.rst @@ -5,14 +5,14 @@ The latest information about Galaxy can be found on the `Galaxy Community Hub `__. -.. image:: https://img.shields.io/badge/chat-irc.freenode.net%23galaxyproject-blue.svg - :target: https://webchat.freenode.net/?channels=galaxyproject - :alt: Chat on irc - .. image:: https://img.shields.io/badge/chat-gitter-blue.svg :target: https://gitter.im/galaxyproject/Lobby :alt: Chat on gitter +.. image:: https://img.shields.io/badge/chat-irc.freenode.net%23galaxyproject-blue.svg + :target: https://webchat.freenode.net/?channels=galaxyproject + :alt: Chat on irc + .. image:: https://img.shields.io/badge/release-documentation-blue.svg :target: https://docs.galaxyproject.org/en/master/ :alt: Release Documentation @@ -24,12 +24,12 @@ Community support is available at `Galaxy Help Galaxy Quickstart ================= -Galaxy requires Python 2.7 To check your python version, run: +Galaxy requires Python 3.5 or 3.6 . To check your Python version, run: .. code:: console $ python -V - Python 2.7.3 + Python 3.6.10 Start Galaxy: @@ -38,18 +38,19 @@ Start Galaxy: $ sh run.sh Once Galaxy completes startup, you should be able to view Galaxy in your -browser at: +browser at: http://localhost:8080 + +For more installation details please see: https://getgalaxy.org/ -http://localhost:8080 +Documentation is available at: https://docs.galaxyproject.org/ -Configuration & Tools -===================== +Tutorials on how to use Galaxy, perform scientific analyses with it, develop Galaxy and its tools, and admin a Galaxy server are at: https://training.galaxyproject.org/ -You may wish to make changes from the default configuration. This can be -done in the ``config/galaxy.ini`` file. +Tools +===== Tools can be either installed from the Tool Shed or added manually. - For details please see the `tutorial `__. +For details please see the `tutorial `__. Note that not all dependencies for the tools provided in the ``tool_conf.xml.sample`` are included. To install them please visit "Manage dependencies" in the admin interface. @@ -58,8 +59,3 @@ Issues and Galaxy Development ============================= Please see `CONTRIBUTING.md `_ . - -Roadmap -============================= - -Interested in the next steps for Galaxy? Take a look at the `roadmap `__. diff --git a/client/.eslintrc.js b/client/.eslintrc.js index f5b615f0a69c..50e8fe35157f 100644 --- a/client/.eslintrc.js +++ b/client/.eslintrc.js @@ -1,7 +1,7 @@ module.exports = { extends: [ "eslint:recommended", - "plugin:vue/strongly-recommended", + "plugin:vue/strongly-recommended" //"airbnb-base", eventually ], env: { @@ -15,17 +15,20 @@ module.exports = { parser: "babel-eslint", sourceType: "module" }, - plugins: ["html"], rules: { // Standard rules "no-console": "off", "no-unused-vars": ["error", { args: "none" }], "prefer-const": "error", + "one-var": ["error", "never"], + + "vue/valid-v-slot": "error", + "vue/v-slot-style": ["error", { atComponent: "v-slot", default: "v-slot", named: "longform" }], // Vue TODO (enable these) - "vue/require-default-prop": "off", - "vue/require-prop-types": "off", - "vue/prop-name-casing": "off", + "vue/require-default-prop": "warn", + "vue/require-prop-types": "warn", + "vue/prop-name-casing": "warn", // Prettier compromises/workarounds -- mostly #wontfix? "vue/html-indent": "off", diff --git a/client/galaxy/scripts/app/galaxy.js b/client/galaxy/scripts/app/galaxy.js index 075ce79822d6..86dd4f59728b 100644 --- a/client/galaxy/scripts/app/galaxy.js +++ b/client/galaxy/scripts/app/galaxy.js @@ -39,7 +39,7 @@ try { } /** initalize options and sub-components */ -GalaxyApp.prototype._init = function(options, bootstrapped) { +GalaxyApp.prototype._init = function (options, bootstrapped) { _.extend(this, Backbone.Events); if (localDebugging) { this.logger = console; @@ -98,7 +98,7 @@ GalaxyApp.prototype.defaultOptions = { patchExisting: true, /** root url of this app */ root: "/", - session_csrf_token: null + session_csrf_token: null, }; /** filter to options present in defaultOptions (and default to them) */ @@ -162,8 +162,8 @@ GalaxyApp.prototype._initLogger = function _initLogger(loggerOptions) { this.logger = new metricsLogger.MetricsLogger(loggerOptions); this.emit = {}; - ["log", "debug", "info", "warn", "error", "metric"].map(i => { - this.emit[i] = data => { + ["log", "debug", "info", "warn", "error", "metric"].map((i) => { + this.emit[i] = (data) => { this.logger.emit(i, arguments[0], Array.prototype.slice.call(arguments, 1)); }; }); @@ -188,7 +188,10 @@ GalaxyApp.prototype._initLocale = function _initLocale(options) { /** add the localize fn to this object and the window namespace (as '_l') */ GalaxyApp.prototype._initUserLocale = function _initUserLocale(options) { // Choose best locale - const global_locale = this.config.default_locale ? this.config.default_locale.toLowerCase() : false; + const global_locale = + this.config.default_locale && this.config.default_locale != "auto" + ? this.config.default_locale.toLowerCase() + : false; let extra_user_preferences = {}; if (this.user && this.user.attributes.preferences && "extra_user_preferences" in this.user.attributes.preferences) { @@ -209,7 +212,7 @@ GalaxyApp.prototype._initUserLocale = function _initUserLocale(options) { ? "__root" : (navigator.language || navigator.userLanguage || "__root").toLowerCase(); - const locale = user_locale || global_locale || nav_locale; + const locale = user_locale || nav_locale || global_locale; sessionStorage.setItem("currentLocale", locale); }; @@ -237,7 +240,7 @@ GalaxyApp.prototype._setUpListeners = function _setUpListeners() { this.lastAjax = { url: location.href.slice(0, -1) + options.url, - data: data + data: data, }; //TODO:?? we might somehow manage to *retry* ajax using either this hook or Backbone.sync }); @@ -298,5 +301,5 @@ GalaxyApp.prototype.toString = function toString() { // ============================================================================ export default { - GalaxyApp: GalaxyApp + GalaxyApp: GalaxyApp, }; diff --git a/client/galaxy/scripts/app/monitor.js b/client/galaxy/scripts/app/monitor.js index 253a834fb059..42b48f0de0c7 100644 --- a/client/galaxy/scripts/app/monitor.js +++ b/client/galaxy/scripts/app/monitor.js @@ -8,20 +8,20 @@ import { serverPath } from "utils/serverPath"; const galaxyStub = { root: getAppRoot(), - config: {} + config: {}, }; if (!window.Galaxy) { Object.defineProperty(window, "Galaxy", { enumerable: true, - get: function() { + get: function () { console.warn("accessing (get) window.Galaxy", serverPath()); return getGalaxyInstance() || galaxyStub; }, - set: function(newValue) { + set: function (newValue) { console.warn("accessing (set) window.Galaxy", serverPath()); setGalaxyInstance(newValue); - } + }, }); } else { console.error("Detected redefinition of window.Galaxy -- skipping, but this should be investigated.", serverPath()); diff --git a/client/galaxy/scripts/bundleEntries.js b/client/galaxy/scripts/bundleEntries.js index 6dce4ad39a69..8e6efed234d8 100644 --- a/client/galaxy/scripts/bundleEntries.js +++ b/client/galaxy/scripts/bundleEntries.js @@ -52,14 +52,14 @@ export function multiHistory(options) { order: options.order, limitOnFirstFetch: options.limit, limitPerFetch: options.limit, - currentHistoryId: options.current_history_id + currentHistoryId: options.current_history_id, }); const multipanel = new MultiPanel.MultiPanelColumns({ el: $("#center").get(0), - histories: histories + histories: histories, }); - histories.fetchFirst({ silent: true }).done(function() { + histories.fetchFirst({ silent: true }).done(function () { multipanel.createColumns(); multipanel.render(0); }); @@ -85,7 +85,7 @@ export function chart(options) { export const chartUtilities = { Datasets: Datasets, Jobs: Jobs, - Series: Series + Series: Series, }; export { initMasthead } from "components/Masthead/initMasthead"; @@ -95,6 +95,7 @@ export { mountJobMetrics } from "components/JobMetrics"; export { mountJobParameters } from "components/JobParameters"; export { mountWorkflowEditor } from "components/Workflow/Editor/mount"; export { mountPageDisplay } from "components/PageDisplay"; +export { mountDestinationParams } from "components/JobDestinationParams"; // Used in common.mako export { default as store } from "storemodern"; diff --git a/client/galaxy/scripts/components/Alert.vue b/client/galaxy/scripts/components/Alert.vue index f33a3bf6bd61..232e1d54f67e 100644 --- a/client/galaxy/scripts/components/Alert.vue +++ b/client/galaxy/scripts/components/Alert.vue @@ -13,21 +13,21 @@ export default { */ message: { type: String, - default: "" + default: "", }, /** * Alias for variant, takes precedence if both are set */ status: { type: String, - default: "" + default: "", }, /** * Alert type, one of done/success, info, warning, error/danger */ variant: { type: String, - default: "done" + default: "done", }, /** Display a close button in the alert that allows it to be dismissed */ dismissible: Boolean, @@ -36,7 +36,7 @@ export default { /** If a number, number of seconds to show before dismissing */ show: [Boolean, Number], /** Should the alert fade out */ - fade: Boolean + fade: Boolean, }, computed: { galaxyKwdToBootstrap() { @@ -48,7 +48,7 @@ export default { done: "success", info: "info", warning: "warning", - error: "danger" + error: "danger", }; if (variant in galaxyKwdToBoostrapDict) { return galaxyKwdToBoostrapDict[variant]; @@ -66,7 +66,7 @@ export default { } else { return false; } - } - } + }, + }, }; diff --git a/client/galaxy/scripts/components/Citations.vue b/client/galaxy/scripts/components/Citations.vue index 75906671f882..b15df077da50 100644 --- a/client/galaxy/scripts/components/Citations.vue +++ b/client/galaxy/scripts/components/Citations.vue @@ -1,33 +1,52 @@