From e59e4aa2c06a57566f148f4217d286461231ae58 Mon Sep 17 00:00:00 2001 From: Stas Vilchik Date: Mon, 18 May 2015 16:29:19 +0200 Subject: [PATCH] change web structure: separate components --- .../core/widgets/issues/issue_filter.html.erb | 2 +- .../issues/project_issue_filter.html.erb | 2 +- server/sonar-web/.gitignore | 2 +- server/sonar-web/Gruntfile.coffee | 430 ++-- server/sonar-web/package.json | 14 +- .../{ => apps}/analysis-reports/app.coffee | 17 +- .../{ => apps}/analysis-reports/layout.coffee | 2 +- .../analysis-reports/models/report.coffee | 0 .../analysis-reports/models/reports.coffee | 2 +- .../{ => apps}/analysis-reports/router.coffee | 0 .../templates}/analysis-reports-actions.hbs | 0 .../templates}/analysis-reports-empty.hbs | 0 .../templates}/analysis-reports-layout.hbs | 0 .../templates}/analysis-reports-report.hbs | 0 .../views/actions-view.coffee | 2 +- .../analysis-reports/views/report-view.coffee | 2 +- .../views/reports-empty-view.coffee | 2 +- .../views/reports-view.coffee | 4 +- .../{ => apps}/issues/app-context.coffee | 27 +- .../coffee/{ => apps}/issues/app-new.coffee | 27 +- .../issues/component-viewer/issue-view.coffee | 2 +- .../issues/component-viewer/main.coffee | 8 +- .../{ => apps}/issues/controller.coffee | 4 +- .../{ => apps}/issues/facets-view.coffee | 34 +- .../issues/facets/action-plan-facet.coffee | 4 +- .../issues/facets/assignee-facet.coffee | 4 +- .../issues/facets/author-facet.coffee | 2 +- .../issues/facets/base-facet.coffee | 2 +- .../issues/facets/context-facet.coffee | 4 +- .../issues/facets/creation-date-facet.coffee | 4 +- .../issues/facets/custom-values-facet.coffee | 4 +- .../issues/facets/file-facet.coffee | 4 +- .../issues/facets/issue-key-facet.coffee | 4 +- .../issues/facets/language-facet.coffee | 2 +- .../issues/facets/module-facet.coffee | 2 +- .../issues/facets/project-facet.coffee | 2 +- .../issues/facets/reporter-facet.coffee | 2 +- .../issues/facets/resolution-facet.coffee | 4 +- .../issues/facets/rule-facet.coffee | 2 +- .../issues/facets/severity-facet.coffee | 4 +- .../issues/facets/status-facet.coffee | 4 +- .../{ => apps}/issues/facets/tag-facet.coffee | 2 +- .../{ => apps}/issues/filters-view.coffee | 2 +- .../issues/issue-filter-view.coffee | 4 +- .../coffee/{ => apps}/issues/layout.coffee | 2 +- .../{ => apps}/issues/models/facet.coffee | 0 .../{ => apps}/issues/models/facets.coffee | 2 +- .../{ => apps}/issues/models/filter.coffee | 0 .../{ => apps}/issues/models/filters.coffee | 2 +- .../{ => apps}/issues/models/issues.coffee | 2 +- .../{ => apps}/issues/models/state.coffee | 0 .../coffee/{ => apps}/issues/router.coffee | 0 .../issues/templates}/_issues-filter-name.hbs | 0 .../facets/_issues-facet-header.hbs | 0 .../facets/issues-action-plan-facet.hbs | 0 .../facets/issues-assignee-facet.hbs | 0 .../templates}/facets/issues-base-facet.hbs | 0 .../facets/issues-context-facet.hbs | 0 .../facets/issues-creation-date-facet.hbs | 0 .../facets/issues-custom-values-facet.hbs | 0 .../templates}/facets/issues-file-facet.hbs | 0 .../facets/issues-issue-key-facet.hbs | 0 .../facets/issues-resolution-facet.hbs | 0 .../facets/issues-severity-facet.hbs | 0 .../templates}/facets/issues-status-facet.hbs | 0 .../apps/issues/templates}/issues-filters.hbs | 0 .../templates}/issues-issue-filter-form.hbs | 0 .../issues/templates}/issues-issue-filter.hbs | 0 .../apps/issues/templates}/issues-layout.hbs | 0 .../templates}/issues-workspace-header.hbs | 0 .../templates}/issues-workspace-home.hbs | 0 .../issues-workspace-list-component.hbs | 0 .../templates}/issues-workspace-list.hbs | 0 .../issues/workspace-header-view.coffee | 2 +- .../issues/workspace-home-view.coffee | 4 +- .../issues/workspace-list-empty-view.coffee | 0 .../issues/workspace-list-item-view.coffee | 6 +- .../issues/workspace-list-view.coffee | 6 +- .../coffee/{ => apps}/quality-gate/app.coffee | 19 +- .../collections/conditions.coffee | 2 +- .../collections/quality-gates.coffee | 2 +- .../{ => apps}/quality-gate/layout.coffee | 2 +- .../quality-gate/models/condition.coffee | 0 .../quality-gate/models/quality-gate.coffee | 0 .../{ => apps}/quality-gate/router.coffee | 6 +- .../templates}/_quality-gate-intro.hbs | 0 .../templates}/quality-gate-actions.hbs | 0 .../quality-gate-detail-condition.hbs | 0 .../quality-gate-detail-conditions-empty.hbs | 0 .../quality-gate-detail-conditions.hbs | 0 .../templates}/quality-gate-detail-header.hbs | 0 .../quality-gate-detail-projects.hbs | 0 .../templates}/quality-gate-detail.hbs | 0 .../templates}/quality-gate-edit.hbs | 0 .../quality-gate-sidebar-list-empty.hbs | 0 .../quality-gate-sidebar-list-item.hbs | 0 .../templates}/quality-gates-layout.hbs | 0 .../views/quality-gate-actions-view.coffee | 4 +- .../quality-gate-detail-condition-view.coffee | 2 +- ...y-gate-detail-conditions-empty-view.coffee | 2 +- ...quality-gate-detail-conditions-view.coffee | 8 +- .../quality-gate-detail-header-view.coffee | 4 +- .../quality-gate-detail-projects-view.coffee | 4 +- .../views/quality-gate-detail-view.coffee | 10 +- .../views/quality-gate-edit-view.coffee | 2 +- ...uality-gate-sidebar-list-empty-view.coffee | 2 +- ...quality-gate-sidebar-list-item-view.coffee | 2 +- .../quality-gate-sidebar-list-view.coffee | 4 +- .../{ => components}/common/dialogs.coffee | 0 .../{ => components}/common/inputs.coffee | 0 .../{ => components}/common/popup.coffee | 0 .../issue/collections/action-plans.coffee | 0 .../issue/collections/issues.coffee | 2 +- .../{ => components}/issue/issue-view.coffee | 28 +- .../issue/manual-issue-view.coffee | 2 +- .../issue/models/changelog.coffee | 0 .../issue/models/issue.coffee | 0 .../issue/templates}/comment-form.hbs | 0 .../templates}/issue-assign-form-option.hbs | 0 .../issue/templates}/issue-assign-form.hbs | 0 .../issue/templates}/issue-changelog.hbs | 0 .../issue/templates}/issue-more-actions.hbs | 0 .../issue/templates}/issue-plan-form.hbs | 0 .../templates}/issue-set-severity-form.hbs | 0 .../templates}/issue-tags-form-option.hbs | 0 .../issue/templates}/issue-tags-form.hbs | 0 .../templates}/issue-transitions-form.hbs | 0 .../components/issue/templates}/issue.hbs | 0 .../issue/templates}/manual-issue.hbs | 0 .../issue/views/action-options-view.coffee | 2 +- .../issue/views/assign-form-view.coffee | 4 +- .../issue/views/changelog-view.coffee | 4 +- .../issue/views/comment-form-view.coffee | 4 +- .../issue/views/issue-popup.coffee | 2 +- .../issue/views/more-actions-view.coffee | 4 +- .../issue/views/plan-form-view.coffee | 4 +- .../issue/views/set-severity-form-view.coffee | 4 +- .../issue/views/tags-form-view.coffee | 4 +- .../issue/views/transitions-form-view.coffee | 4 +- .../navigator/filters/date-filter-view.coffee | 2 +- .../coffee/{ => libs}/widgets/base.coffee | 0 .../{ => libs}/widgets/histogram.coffee | 0 .../{ => libs}/widgets/tag-cloud.coffee | 0 .../coffee/{ => libs}/widgets/treemap.coffee | 0 .../{ => libs}/widgets/word-cloud.coffee | 0 .../api-documentation/action-view.js | 2 +- .../api-documentation/actions-view.js | 2 +- .../js/{ => apps}/api-documentation/app.js | 12 +- .../api-documentation/controller.js | 4 +- .../api-documentation/filters-view.js | 2 +- .../api-documentation/header-view.js | 2 +- .../{ => apps}/api-documentation/item-view.js | 2 +- .../js/{ => apps}/api-documentation/layout.js | 2 +- .../{ => apps}/api-documentation/list-view.js | 2 +- .../js/{ => apps}/api-documentation/list.js | 0 .../js/{ => apps}/api-documentation/router.js | 0 .../templates}/api-documentation-action.hbs | 0 .../templates}/api-documentation-filters.hbs | 0 .../templates}/api-documentation-header.hbs | 0 .../templates}/api-documentation-layout.hbs | 0 .../api-documentation-web-service.hbs | 0 .../main/js/{ => apps}/coding-rules/app.js | 23 +- .../coding-rules/bulk-change-modal-view.js | 4 +- .../coding-rules/bulk-change-popup-view.js | 6 +- .../js/{ => apps}/coding-rules/controller.js | 4 +- .../js/{ => apps}/coding-rules/facets-view.js | 28 +- .../facets/active-severity-facet.js | 4 +- .../facets/available-since-facet.js | 4 +- .../coding-rules/facets/base-facet.js | 2 +- .../facets/characteristic-facet.js | 4 +- .../facets/custom-labels-facet.js | 2 +- .../facets/custom-values-facet.js | 4 +- .../coding-rules/facets/inheritance-facet.js | 2 +- .../coding-rules/facets/key-facet.js | 4 +- .../coding-rules/facets/language-facet.js | 2 +- .../facets/quality-profile-facet.js | 4 +- .../coding-rules/facets/query-facet.js | 4 +- .../coding-rules/facets/repository-facet.js | 2 +- .../coding-rules/facets/severity-facet.js | 4 +- .../coding-rules/facets/status-facet.js | 2 +- .../coding-rules/facets/tag-facet.js | 2 +- .../coding-rules/facets/template-facet.js | 4 +- .../{ => apps}/coding-rules/filters-view.js | 2 +- .../main/js/{ => apps}/coding-rules/layout.js | 2 +- .../js/{ => apps}/coding-rules/models/rule.js | 0 .../{ => apps}/coding-rules/models/rules.js | 2 +- .../{ => apps}/coding-rules/models/state.js | 0 .../coding-rules/rule-details-view.js | 20 +- .../coding-rules/rule-filter-view.js | 4 +- .../rule/custom-rule-creation-view.js | 4 +- .../coding-rules/rule/custom-rule-view.js | 2 +- .../coding-rules/rule/custom-rules-view.js | 6 +- .../rule/manual-rule-creation-view.js | 4 +- .../rule/profile-activation-view.js | 4 +- .../rule/rule-description-view.js | 2 +- .../coding-rules/rule/rule-filter-mixin.js | 2 +- .../coding-rules/rule/rule-issues-view.js | 2 +- .../coding-rules/rule/rule-meta-view.js | 4 +- .../coding-rules/rule/rule-parameters-view.js | 2 +- .../coding-rules/rule/rule-profile-view.js | 4 +- .../coding-rules/rule/rule-profiles-view.js | 6 +- ...g-rules-workspace-list-item-activation.hbs | 0 .../coding-rules-bulk-change-modal.hbs | 0 .../coding-rules-bulk-change-popup.hbs | 0 .../templates}/coding-rules-filters.hbs | 0 .../templates}/coding-rules-layout.hbs | 0 .../templates}/coding-rules-rule-details.hbs | 0 .../coding-rules-rule-filter-form.hbs | 0 .../coding-rules-workspace-header.hbs | 0 .../coding-rules-workspace-list-item.hbs | 0 .../coding-rules-workspace-list.hbs | 0 .../facets/_coding-rules-facet-header.hbs | 0 .../coding-rules-available-since-facet.hbs | 0 .../facets/coding-rules-base-facet.hbs | 0 .../coding-rules-characteristic-facet.hbs | 0 .../coding-rules-custom-values-facet.hbs | 0 .../facets/coding-rules-key-facet.hbs | 0 .../coding-rules-quality-profile-facet.hbs | 0 .../facets/coding-rules-query-facet.hbs | 0 .../facets/coding-rules-severity-facet.hbs | 0 .../facets/coding-rules-template-facet.hbs | 0 .../coding-rules-custom-rule-creation.hbs | 0 .../rule/coding-rules-custom-rule.hbs | 0 .../rule/coding-rules-custom-rules.hbs | 0 .../coding-rules-manual-rule-creation.hbs | 0 .../rule/coding-rules-profile-activation.hbs | 0 .../rule/coding-rules-rule-description.hbs | 0 .../rule/coding-rules-rule-issues.hbs | 0 .../rule/coding-rules-rule-meta.hbs | 0 .../rule/coding-rules-rule-parameters.hbs | 0 .../rule/coding-rules-rule-profile.hbs | 0 .../rule/coding-rules-rule-profiles.hbs | 0 .../coding-rules/workspace-header-view.js | 6 +- .../coding-rules/workspace-list-empty-view.js | 0 .../coding-rules/workspace-list-item-view.js | 6 +- .../coding-rules/workspace-list-view.js | 6 +- .../src/main/js/{ => apps}/drilldown/app.js | 8 +- .../src/main/js/{ => apps}/markdown/app.js | 2 +- .../{ => apps}/markdown/markdown-help-view.js | 2 +- .../markdown/templates}/markdown-help.hbs | 0 .../src/main/js/{ => apps}/measures/app.js | 24 +- .../measures/measures-filter-bar.js | 2 +- .../src/main/js/{ => apps}/nav/app.js | 10 +- .../js/{ => apps}/nav/context-navbar-view.js | 2 +- .../js/{ => apps}/nav/global-navbar-view.js | 6 +- .../src/main/js/{ => apps}/nav/search-view.js | 4 +- .../js/{ => apps}/nav/settings-navbar-view.js | 2 +- .../js/{ => apps}/nav/shortcuts-help-view.js | 4 +- .../src/main/js/{ => apps}/nav/state.js | 0 .../apps/nav/templates}/_nav-logo.hbs | 0 .../apps/nav/templates}/_nav-navbar-label.hbs | 0 .../nav/templates}/nav-context-navbar.hbs | 0 .../apps/nav/templates}/nav-global-navbar.hbs | 0 .../apps/nav/templates}/nav-search-empty.hbs | 0 .../apps/nav/templates}/nav-search-item.hbs | 0 .../apps/nav/templates}/nav-search.hbs | 0 .../nav/templates}/nav-settings-navbar.hbs | 0 .../nav/templates}/nav-shortcuts-help.hbs | 0 .../quality-profiles/actions-view.js | 8 +- .../js/{ => apps}/quality-profiles/app.js | 14 +- .../change-profile-parent-view.js | 4 +- .../{ => apps}/quality-profiles/controller.js | 4 +- .../quality-profiles/copy-profile-view.js | 6 +- .../quality-profiles/create-profile-view.js | 8 +- .../quality-profiles/delete-profile-view.js | 4 +- .../js/{ => apps}/quality-profiles/helpers.js | 0 .../{ => apps}/quality-profiles/intro-view.js | 2 +- .../js/{ => apps}/quality-profiles/layout.js | 4 +- .../profile-changelog-view.js | 2 +- .../profile-comparison-view.js | 2 +- .../quality-profiles/profile-details-view.js | 12 +- .../quality-profiles/profile-header-view.js | 8 +- .../quality-profiles/profile-view.js | 2 +- .../js/{ => apps}/quality-profiles/profile.js | 0 .../quality-profiles/profiles-view.js | 4 +- .../{ => apps}/quality-profiles/profiles.js | 2 +- .../quality-profiles/rename-profile-view.js | 4 +- .../restore-built-in-profiles-view.js | 4 +- .../quality-profiles/restore-profile-view.js | 8 +- .../js/{ => apps}/quality-profiles/router.js | 0 .../templates}/quality-profile-changelog.hbs | 0 .../templates}/quality-profile-comparison.hbs | 0 .../templates}/quality-profiles-actions.hbs | 0 ...quality-profiles-change-profile-parent.hbs | 0 .../quality-profiles-copy-profile.hbs | 0 .../quality-profiles-create-profile.hbs | 0 .../quality-profiles-delete-profile.hbs | 0 .../templates}/quality-profiles-intro.hbs | 0 .../templates}/quality-profiles-layout.hbs | 0 .../quality-profiles-profile-details.hbs | 0 .../quality-profiles-profile-header.hbs | 0 .../templates}/quality-profiles-profile.hbs | 0 .../quality-profiles-profiles-language.hbs | 0 .../templates}/quality-profiles-profiles.hbs | 0 .../quality-profiles-rename-profile.hbs | 0 ...ity-profiles-restore-built-in-profiles.hbs | 0 .../quality-profiles-restore-profile.hbs | 0 .../main/js/{ => apps}/source-viewer/app.js | 2 +- .../js/{ => components}/common/file-upload.js | 0 .../common/handlebars-extensions.js | 0 .../common/jquery-isolated-scroll.js | 0 .../js/{ => components}/common/modal-form.js | 2 +- .../main/js/{ => components}/common/modals.js | 0 .../js/{ => components}/common/processes.js | 0 .../js/{ => components}/common/select-list.js | 0 .../common/selectable-collection-view.js | 0 .../common/templates}/_markdown-tips.hbs | 0 .../navigator/filters/ajax-select-filters.js | 6 +- .../navigator/filters/base-filters.js | 2 +- .../navigator/filters/checkbox-filters.js | 4 +- .../navigator/filters/choice-filters.js | 4 +- .../navigator/filters/favorite-filters.js | 6 +- .../navigator/filters/filter-bar.js | 14 +- .../navigator/filters/metric-filters.js | 4 +- .../filters/more-criteria-filters.js | 6 +- .../navigator/filters/range-filters.js | 4 +- .../navigator/filters/string-filters.js | 4 +- .../templates}/ajax-select-filter.hbs | 0 .../templates}/base-details-filter.hbs | 0 .../navigator/templates}/base-filter.hbs | 0 .../navigator/templates}/checkbox-filter.hbs | 0 .../templates}/choice-filter-item.hbs | 0 .../templates}/choice-filter-template.hbs | 0 .../navigator/templates}/choice-filter.hbs | 0 .../templates}/favorite-details-filter.hbs | 0 .../navigator/templates}/favorite-filter.hbs | 0 .../navigator/templates}/metric-filter.hbs | 0 .../more-criteria-details-filter.hbs | 0 .../templates}/more-criteria-filter.hbs | 0 .../navigator/templates}/range-filter.hbs | 0 .../navigator/templates}/string-filter.hbs | 0 .../{ => components}/source-viewer/header.js | 6 +- .../source-viewer/main.js} | 20 +- .../source-viewer/measures-overlay.js | 4 +- .../source-viewer/more-actions.js | 6 +- .../source-viewer/popups/coverage-popup.js | 8 +- .../source-viewer/popups/duplication-popup.js | 8 +- .../popups/line-actions-popup.js | 6 +- .../source-viewer/popups/scm-popup.js | 4 +- .../{ => components}/source-viewer/source.js | 0 .../measures/_source-viewer-measures-all.hbs | 0 .../_source-viewer-measures-coverage.hbs | 0 .../_source-viewer-measures-duplications.hbs | 0 .../_source-viewer-measures-issues.hbs | 0 .../_source-viewer-measures-lines.hbs | 0 .../_source-viewer-measures-test-cases.hbs | 0 .../_source-viewer-measures-tests.hbs | 0 .../source-viewer-coverage-popup.hbs | 0 .../source-viewer-duplication-popup.hbs | 0 .../templates}/source-viewer-header.hbs | 0 .../source-viewer-line-options-popup.hbs | 0 .../templates}/source-viewer-measures.hbs | 0 .../templates}/source-viewer-more-actions.hbs | 0 .../templates}/source-viewer-scm-popup.hbs | 0 .../templates}/source-viewer.hbs | 0 .../js/{ => components}/workspace/main.js | 10 +- .../{ => components}/workspace/models/item.js | 0 .../workspace/models/items.js | 2 +- .../workspace/templates}/workspace-item.hbs | 0 .../workspace/templates}/workspace-items.hbs | 0 .../workspace/templates}/workspace-rule.hbs | 0 .../templates}/workspace-viewer-header.hbs | 0 .../workspace/templates}/workspace-viewer.hbs | 0 .../workspace/views/base-viewer-view.js | 2 +- .../workspace/views/item-view.js | 2 +- .../workspace/views/items-view.js | 4 +- .../workspace/views/rule-view.js | 4 +- .../workspace/views/viewer-header-view.js | 2 +- .../workspace/views/viewer-view.js | 8 +- .../src/main/js/{ => libs}/application.js | 0 .../sonar-web/src/main/js/{ => libs}/csv.js | 0 .../src/main/js/{ => libs}/dashboard.js | 0 .../main/js/{ => libs}/graphics/barchart.js | 0 .../main/js/{ => libs}/graphics/pie-chart.js | 0 .../src/main/js/{ => libs}/recent-history.js | 0 server/sonar-web/src/main/js/libs/require.js | 2083 +++++++++++++++++ .../js/{ => libs}/select2-jquery-ui-fix.js | 0 .../src/main/js/{ => libs}/sortable.js | 0 .../js/{ => libs}/third-party/backbone.js | 0 .../third-party/backbone.marionette.js | 0 .../third-party/bootstrap/dropdown.js | 0 .../third-party/bootstrap/tooltip.js | 0 .../src/main/js/{ => libs}/third-party/d3.js | 0 .../js/{ => libs}/third-party/handlebars.js | 0 .../js/{ => libs}/third-party/jquery-ui.js | 0 .../main/js/{ => libs}/third-party/jquery.js | 0 .../{ => libs}/third-party/jquery.mockjax.js | 0 .../js/{ => libs}/third-party/keymaster.js | 0 .../js/{ => libs}/third-party/latinize.js | 0 .../main/js/{ => libs}/third-party/moment.js | 0 .../third-party/numeral-languages.js | 0 .../main/js/{ => libs}/third-party/numeral.js | 0 .../main/js/{ => libs}/third-party/select2.js | 0 .../js/{ => libs}/third-party/underscore.js | 0 .../src/main/js/{ => libs}/translate.js | 0 .../js/{ => libs}/widgets/bubble-chart.js | 0 .../main/js/{ => libs}/widgets/pie-chart.js | 0 .../main/js/{ => libs}/widgets/stack-area.js | 0 .../main/js/{ => libs}/widgets/timeline.js | 0 .../src/main/js/{ => libs}/widgets/widget.js | 0 server/sonar-web/src/main/js/require.js | 55 - .../templates}/_widget-issue-filter-limit.hbs | 0 .../templates}/_widget-issue-filter-total.hbs | 0 .../widget-issue-filter-action-plans.hbs | 0 .../widget-issue-filter-assignees.hbs | 0 .../widget-issue-filter-resolutions.hbs | 0 .../widget-issue-filter-severities.hbs | 0 .../widget-issue-filter-statuses.hbs | 0 .../templates}/widget-issue-filter.hbs | 0 .../widget.js} | 2 +- .../app/views/analysis_reports/index.html.erb | 2 +- .../views/api_documentation/index.html.erb | 2 +- .../app/views/coding_rules/index.html.erb | 2 +- .../app/views/component/index.html.erb | 2 +- .../app/views/component_issues/index.html.erb | 2 +- .../app/views/dashboard/no_dashboard.html.erb | 2 +- .../app/views/drilldown/measures.html.erb | 2 +- .../WEB-INF/app/views/groups/index.html.erb | 2 +- .../WEB-INF/app/views/issues/search.html.erb | 2 +- .../WEB-INF/app/views/layouts/_head.html.erb | 3 - .../app/views/layouts/_navbar.html.erb | 2 +- .../WEB-INF/app/views/markdown/help.html.erb | 2 +- .../app/views/measures/search.html.erb | 2 +- .../views/permission_templates/index.html.erb | 2 +- .../WEB-INF/app/views/profiles/index.html.erb | 2 +- .../app/views/project_roles/index.html.erb | 2 +- .../app/views/quality_gates/index.html.erb | 2 +- .../WEB-INF/app/views/roles/global.html.erb | 2 +- .../WEB-INF/app/views/roles/projects.html.erb | 2 +- .../WEB-INF/app/views/users/index.html.erb | 2 +- .../src/test/js/api-documentation-spec.js | 10 +- ...coding-rules-page-active-severity-facet.js | 2 +- .../js/coding-rules-page-available-since.js | 2 +- .../test/js/coding-rules-page-bulk-change.js | 8 +- .../src/test/js/coding-rules-page-facets.js | 8 +- .../src/test/js/coding-rules-page-header.js | 6 +- .../js/coding-rules-page-inheritance-facet.js | 2 +- .../test/js/coding-rules-page-list-actions.js | 6 +- ...ge-no-available-profiles-for-activation.js | 2 +- ...coding-rules-page-quality-profile-facet.js | 2 +- .../test/js/coding-rules-page-query-facet.js | 2 +- ...g-rules-page-rule-should-have-permalink.js | 2 +- ...ding-rules-page-should-activate-profile.js | 2 +- ...g-rules-page-should-create-custom-rules.js | 4 +- ...g-rules-page-should-create-manual-rules.js | 4 +- ...g-rules-page-should-delete-custom-rules.js | 2 +- ...g-rules-page-should-delete-manual-rules.js | 2 +- ...ing-rules-page-should-show-custom-rules.js | 2 +- ...rules-page-should-show-deprecated-label.js | 2 +- .../coding-rules-page-should-show-details.js | 2 +- ...oding-rules-page-should-show-empty-list.js | 2 +- .../coding-rules-page-should-show-facets.js | 2 +- ...ding-rules-page-should-show-rule-issues.js | 2 +- .../js/coding-rules-page-should-show-rule.js | 2 +- .../js/coding-rules-page-should-show-rules.js | 2 +- .../src/test/js/coding-rules-page-spec.js | 4 +- .../src/test/js/global-issue-filter-widget.js | 32 +- ...issues-page-should-open-issue-permalink.js | 2 +- .../sonar-web/src/test/js/issues-page-spec.js | 18 +- server/sonar-web/src/test/js/markdown-spec.js | 2 +- server/sonar-web/src/test/js/nav-spec.js | 12 +- .../test/js/project-issue-filter-widget.js | 8 +- .../src/test/js/quality-gates-spec.js | 2 +- .../sonar-web/src/test/js/quality-profiles.js | 42 +- .../src/test/js/source-viewer-coverage.js | 2 +- .../js/source-viewer-create-manual-issue.js | 2 +- .../src/test/js/source-viewer-duplications.js | 4 +- .../test/js/source-viewer-favorite-spec.js | 4 +- .../src/test/js/source-viewer-issues.js | 2 +- .../src/test/js/source-viewer-scm.js | 2 +- ...should-not-show-source-if-no-permission.js | 2 +- .../src/test/js/source-viewer-spec.js | 16 +- server/sonar-web/src/test/js/workspace.js | 12 +- server/sonar-web/src/test/server-coverage.js | 2 +- server/sonar-web/src/test/server.js | 2 +- .../src/test/views/layouts/main.jade | 90 +- 476 files changed, 2925 insertions(+), 973 deletions(-) rename server/sonar-web/src/main/coffee/{ => apps}/analysis-reports/app.coffee (91%) rename server/sonar-web/src/main/coffee/{ => apps}/analysis-reports/layout.coffee (97%) rename server/sonar-web/src/main/coffee/{ => apps}/analysis-reports/models/report.coffee (100%) rename server/sonar-web/src/main/coffee/{ => apps}/analysis-reports/models/reports.coffee (97%) rename server/sonar-web/src/main/coffee/{ => apps}/analysis-reports/router.coffee (100%) rename server/sonar-web/src/main/{hbs/analysis-reports => coffee/apps/analysis-reports/templates}/analysis-reports-actions.hbs (100%) rename server/sonar-web/src/main/{hbs/analysis-reports => coffee/apps/analysis-reports/templates}/analysis-reports-empty.hbs (100%) rename server/sonar-web/src/main/{hbs/analysis-reports => coffee/apps/analysis-reports/templates}/analysis-reports-layout.hbs (100%) rename server/sonar-web/src/main/{hbs/analysis-reports => coffee/apps/analysis-reports/templates}/analysis-reports-report.hbs (100%) rename server/sonar-web/src/main/coffee/{ => apps}/analysis-reports/views/actions-view.coffee (98%) rename server/sonar-web/src/main/coffee/{ => apps}/analysis-reports/views/report-view.coffee (98%) rename server/sonar-web/src/main/coffee/{ => apps}/analysis-reports/views/reports-empty-view.coffee (97%) rename server/sonar-web/src/main/coffee/{ => apps}/analysis-reports/views/reports-view.coffee (95%) rename server/sonar-web/src/main/coffee/{ => apps}/issues/app-context.coffee (91%) rename server/sonar-web/src/main/coffee/{ => apps}/issues/app-new.coffee (88%) rename server/sonar-web/src/main/coffee/{ => apps}/issues/component-viewer/issue-view.coffee (96%) rename server/sonar-web/src/main/coffee/{ => apps}/issues/component-viewer/main.coffee (98%) rename server/sonar-web/src/main/coffee/{ => apps}/issues/controller.coffee (99%) rename server/sonar-web/src/main/coffee/{ => apps}/issues/facets-view.coffee (78%) rename server/sonar-web/src/main/coffee/{ => apps}/issues/facets/action-plan-facet.coffee (97%) rename server/sonar-web/src/main/coffee/{ => apps}/issues/facets/assignee-facet.coffee (98%) rename server/sonar-web/src/main/coffee/{ => apps}/issues/facets/author-facet.coffee (97%) rename server/sonar-web/src/main/coffee/{ => apps}/issues/facets/base-facet.coffee (98%) rename server/sonar-web/src/main/coffee/{ => apps}/issues/facets/context-facet.coffee (95%) rename server/sonar-web/src/main/coffee/{ => apps}/issues/facets/creation-date-facet.coffee (98%) rename server/sonar-web/src/main/coffee/{ => apps}/issues/facets/custom-values-facet.coffee (97%) rename server/sonar-web/src/main/coffee/{ => apps}/issues/facets/file-facet.coffee (96%) rename server/sonar-web/src/main/coffee/{ => apps}/issues/facets/issue-key-facet.coffee (96%) rename server/sonar-web/src/main/coffee/{ => apps}/issues/facets/language-facet.coffee (98%) rename server/sonar-web/src/main/coffee/{ => apps}/issues/facets/module-facet.coffee (97%) rename server/sonar-web/src/main/coffee/{ => apps}/issues/facets/project-facet.coffee (98%) rename server/sonar-web/src/main/coffee/{ => apps}/issues/facets/reporter-facet.coffee (97%) rename server/sonar-web/src/main/coffee/{ => apps}/issues/facets/resolution-facet.coffee (97%) rename server/sonar-web/src/main/coffee/{ => apps}/issues/facets/rule-facet.coffee (98%) rename server/sonar-web/src/main/coffee/{ => apps}/issues/facets/severity-facet.coffee (95%) rename server/sonar-web/src/main/coffee/{ => apps}/issues/facets/status-facet.coffee (95%) rename server/sonar-web/src/main/coffee/{ => apps}/issues/facets/tag-facet.coffee (98%) rename server/sonar-web/src/main/coffee/{ => apps}/issues/filters-view.coffee (99%) rename server/sonar-web/src/main/coffee/{ => apps}/issues/issue-filter-view.coffee (95%) rename server/sonar-web/src/main/coffee/{ => apps}/issues/layout.coffee (99%) rename server/sonar-web/src/main/coffee/{ => apps}/issues/models/facet.coffee (100%) rename server/sonar-web/src/main/coffee/{ => apps}/issues/models/facets.coffee (97%) rename server/sonar-web/src/main/coffee/{ => apps}/issues/models/filter.coffee (100%) rename server/sonar-web/src/main/coffee/{ => apps}/issues/models/filters.coffee (97%) rename server/sonar-web/src/main/coffee/{ => apps}/issues/models/issues.coffee (98%) rename server/sonar-web/src/main/coffee/{ => apps}/issues/models/state.coffee (100%) rename server/sonar-web/src/main/coffee/{ => apps}/issues/router.coffee (100%) rename server/sonar-web/src/main/{hbs/issues => coffee/apps/issues/templates}/_issues-filter-name.hbs (100%) rename server/sonar-web/src/main/{hbs/issues => coffee/apps/issues/templates}/facets/_issues-facet-header.hbs (100%) rename server/sonar-web/src/main/{hbs/issues => coffee/apps/issues/templates}/facets/issues-action-plan-facet.hbs (100%) rename server/sonar-web/src/main/{hbs/issues => coffee/apps/issues/templates}/facets/issues-assignee-facet.hbs (100%) rename server/sonar-web/src/main/{hbs/issues => coffee/apps/issues/templates}/facets/issues-base-facet.hbs (100%) rename server/sonar-web/src/main/{hbs/issues => coffee/apps/issues/templates}/facets/issues-context-facet.hbs (100%) rename server/sonar-web/src/main/{hbs/issues => coffee/apps/issues/templates}/facets/issues-creation-date-facet.hbs (100%) rename server/sonar-web/src/main/{hbs/issues => coffee/apps/issues/templates}/facets/issues-custom-values-facet.hbs (100%) rename server/sonar-web/src/main/{hbs/issues => coffee/apps/issues/templates}/facets/issues-file-facet.hbs (100%) rename server/sonar-web/src/main/{hbs/issues => coffee/apps/issues/templates}/facets/issues-issue-key-facet.hbs (100%) rename server/sonar-web/src/main/{hbs/issues => coffee/apps/issues/templates}/facets/issues-resolution-facet.hbs (100%) rename server/sonar-web/src/main/{hbs/issues => coffee/apps/issues/templates}/facets/issues-severity-facet.hbs (100%) rename server/sonar-web/src/main/{hbs/issues => coffee/apps/issues/templates}/facets/issues-status-facet.hbs (100%) rename server/sonar-web/src/main/{hbs/issues => coffee/apps/issues/templates}/issues-filters.hbs (100%) rename server/sonar-web/src/main/{hbs/issues => coffee/apps/issues/templates}/issues-issue-filter-form.hbs (100%) rename server/sonar-web/src/main/{hbs/issues => coffee/apps/issues/templates}/issues-issue-filter.hbs (100%) rename server/sonar-web/src/main/{hbs/issues => coffee/apps/issues/templates}/issues-layout.hbs (100%) rename server/sonar-web/src/main/{hbs/issues => coffee/apps/issues/templates}/issues-workspace-header.hbs (100%) rename server/sonar-web/src/main/{hbs/issues => coffee/apps/issues/templates}/issues-workspace-home.hbs (100%) rename server/sonar-web/src/main/{hbs/issues => coffee/apps/issues/templates}/issues-workspace-list-component.hbs (100%) rename server/sonar-web/src/main/{hbs/issues => coffee/apps/issues/templates}/issues-workspace-list.hbs (100%) rename server/sonar-web/src/main/coffee/{ => apps}/issues/workspace-header-view.coffee (98%) rename server/sonar-web/src/main/coffee/{ => apps}/issues/workspace-home-view.coffee (98%) rename server/sonar-web/src/main/coffee/{ => apps}/issues/workspace-list-empty-view.coffee (100%) rename server/sonar-web/src/main/coffee/{ => apps}/issues/workspace-list-item-view.coffee (97%) rename server/sonar-web/src/main/coffee/{ => apps}/issues/workspace-list-view.coffee (97%) rename server/sonar-web/src/main/coffee/{ => apps}/quality-gate/app.coffee (91%) rename server/sonar-web/src/main/coffee/{ => apps}/quality-gate/collections/conditions.coffee (96%) rename server/sonar-web/src/main/coffee/{ => apps}/quality-gate/collections/quality-gates.coffee (97%) rename server/sonar-web/src/main/coffee/{ => apps}/quality-gate/layout.coffee (98%) rename server/sonar-web/src/main/coffee/{ => apps}/quality-gate/models/condition.coffee (100%) rename server/sonar-web/src/main/coffee/{ => apps}/quality-gate/models/quality-gate.coffee (100%) rename server/sonar-web/src/main/coffee/{ => apps}/quality-gate/router.coffee (92%) rename server/sonar-web/src/main/{hbs/quality-gates => coffee/apps/quality-gate/templates}/_quality-gate-intro.hbs (100%) rename server/sonar-web/src/main/{hbs/quality-gates => coffee/apps/quality-gate/templates}/quality-gate-actions.hbs (100%) rename server/sonar-web/src/main/{hbs/quality-gates => coffee/apps/quality-gate/templates}/quality-gate-detail-condition.hbs (100%) rename server/sonar-web/src/main/{hbs/quality-gates => coffee/apps/quality-gate/templates}/quality-gate-detail-conditions-empty.hbs (100%) rename server/sonar-web/src/main/{hbs/quality-gates => coffee/apps/quality-gate/templates}/quality-gate-detail-conditions.hbs (100%) rename server/sonar-web/src/main/{hbs/quality-gates => coffee/apps/quality-gate/templates}/quality-gate-detail-header.hbs (100%) rename server/sonar-web/src/main/{hbs/quality-gates => coffee/apps/quality-gate/templates}/quality-gate-detail-projects.hbs (100%) rename server/sonar-web/src/main/{hbs/quality-gates => coffee/apps/quality-gate/templates}/quality-gate-detail.hbs (100%) rename server/sonar-web/src/main/{hbs/quality-gates => coffee/apps/quality-gate/templates}/quality-gate-edit.hbs (100%) rename server/sonar-web/src/main/{hbs/quality-gates => coffee/apps/quality-gate/templates}/quality-gate-sidebar-list-empty.hbs (100%) rename server/sonar-web/src/main/{hbs/quality-gates => coffee/apps/quality-gate/templates}/quality-gate-sidebar-list-item.hbs (100%) rename server/sonar-web/src/main/{hbs/quality-gates => coffee/apps/quality-gate/templates}/quality-gates-layout.hbs (100%) rename server/sonar-web/src/main/coffee/{ => apps}/quality-gate/views/quality-gate-actions-view.coffee (95%) rename server/sonar-web/src/main/coffee/{ => apps}/quality-gate/views/quality-gate-detail-condition-view.coffee (99%) rename server/sonar-web/src/main/coffee/{ => apps}/quality-gate/views/quality-gate-detail-conditions-empty-view.coffee (97%) rename server/sonar-web/src/main/coffee/{ => apps}/quality-gate/views/quality-gate-detail-conditions-view.coffee (94%) rename server/sonar-web/src/main/coffee/{ => apps}/quality-gate/views/quality-gate-detail-header-view.coffee (97%) rename server/sonar-web/src/main/coffee/{ => apps}/quality-gate/views/quality-gate-detail-projects-view.coffee (97%) rename server/sonar-web/src/main/coffee/{ => apps}/quality-gate/views/quality-gate-detail-view.coffee (87%) rename server/sonar-web/src/main/coffee/{ => apps}/quality-gate/views/quality-gate-edit-view.coffee (98%) rename server/sonar-web/src/main/coffee/{ => apps}/quality-gate/views/quality-gate-sidebar-list-empty-view.coffee (97%) rename server/sonar-web/src/main/coffee/{ => apps}/quality-gate/views/quality-gate-sidebar-list-item-view.coffee (97%) rename server/sonar-web/src/main/coffee/{ => apps}/quality-gate/views/quality-gate-sidebar-list-view.coffee (91%) rename server/sonar-web/src/main/coffee/{ => components}/common/dialogs.coffee (100%) rename server/sonar-web/src/main/coffee/{ => components}/common/inputs.coffee (100%) rename server/sonar-web/src/main/coffee/{ => components}/common/popup.coffee (100%) rename server/sonar-web/src/main/coffee/{ => components}/issue/collections/action-plans.coffee (100%) rename server/sonar-web/src/main/coffee/{ => components}/issue/collections/issues.coffee (98%) rename server/sonar-web/src/main/coffee/{ => components}/issue/issue-view.coffee (94%) rename server/sonar-web/src/main/coffee/{ => components}/issue/manual-issue-view.coffee (99%) rename server/sonar-web/src/main/coffee/{ => components}/issue/models/changelog.coffee (100%) rename server/sonar-web/src/main/coffee/{ => components}/issue/models/issue.coffee (100%) rename server/sonar-web/src/main/{hbs/issue => coffee/components/issue/templates}/comment-form.hbs (100%) rename server/sonar-web/src/main/{hbs/issue => coffee/components/issue/templates}/issue-assign-form-option.hbs (100%) rename server/sonar-web/src/main/{hbs/issue => coffee/components/issue/templates}/issue-assign-form.hbs (100%) rename server/sonar-web/src/main/{hbs/issue => coffee/components/issue/templates}/issue-changelog.hbs (100%) rename server/sonar-web/src/main/{hbs/issue => coffee/components/issue/templates}/issue-more-actions.hbs (100%) rename server/sonar-web/src/main/{hbs/issue => coffee/components/issue/templates}/issue-plan-form.hbs (100%) rename server/sonar-web/src/main/{hbs/issue => coffee/components/issue/templates}/issue-set-severity-form.hbs (100%) rename server/sonar-web/src/main/{hbs/issue => coffee/components/issue/templates}/issue-tags-form-option.hbs (100%) rename server/sonar-web/src/main/{hbs/issue => coffee/components/issue/templates}/issue-tags-form.hbs (100%) rename server/sonar-web/src/main/{hbs/issue => coffee/components/issue/templates}/issue-transitions-form.hbs (100%) rename server/sonar-web/src/main/{hbs/issue => coffee/components/issue/templates}/issue.hbs (100%) rename server/sonar-web/src/main/{hbs/issue => coffee/components/issue/templates}/manual-issue.hbs (100%) rename server/sonar-web/src/main/coffee/{ => components}/issue/views/action-options-view.coffee (99%) rename server/sonar-web/src/main/coffee/{ => components}/issue/views/assign-form-view.coffee (98%) rename server/sonar-web/src/main/coffee/{ => components}/issue/views/changelog-view.coffee (96%) rename server/sonar-web/src/main/coffee/{ => components}/issue/views/comment-form-view.coffee (98%) rename server/sonar-web/src/main/coffee/{ => components}/issue/views/issue-popup.coffee (97%) rename server/sonar-web/src/main/coffee/{ => components}/issue/views/more-actions-view.coffee (96%) rename server/sonar-web/src/main/coffee/{ => components}/issue/views/plan-form-view.coffee (97%) rename server/sonar-web/src/main/coffee/{ => components}/issue/views/set-severity-form-view.coffee (96%) rename server/sonar-web/src/main/coffee/{ => components}/issue/views/tags-form-view.coffee (98%) rename server/sonar-web/src/main/coffee/{ => components}/issue/views/transitions-form-view.coffee (96%) rename server/sonar-web/src/main/coffee/{ => components}/navigator/filters/date-filter-view.coffee (96%) rename server/sonar-web/src/main/coffee/{ => libs}/widgets/base.coffee (100%) rename server/sonar-web/src/main/coffee/{ => libs}/widgets/histogram.coffee (100%) rename server/sonar-web/src/main/coffee/{ => libs}/widgets/tag-cloud.coffee (100%) rename server/sonar-web/src/main/coffee/{ => libs}/widgets/treemap.coffee (100%) rename server/sonar-web/src/main/coffee/{ => libs}/widgets/word-cloud.coffee (100%) rename server/sonar-web/src/main/js/{ => apps}/api-documentation/action-view.js (98%) rename server/sonar-web/src/main/js/{ => apps}/api-documentation/actions-view.js (98%) rename server/sonar-web/src/main/js/{ => apps}/api-documentation/app.js (92%) rename server/sonar-web/src/main/js/{ => apps}/api-documentation/controller.js (97%) rename server/sonar-web/src/main/js/{ => apps}/api-documentation/filters-view.js (97%) rename server/sonar-web/src/main/js/{ => apps}/api-documentation/header-view.js (97%) rename server/sonar-web/src/main/js/{ => apps}/api-documentation/item-view.js (98%) rename server/sonar-web/src/main/js/{ => apps}/api-documentation/layout.js (98%) rename server/sonar-web/src/main/js/{ => apps}/api-documentation/list-view.js (97%) rename server/sonar-web/src/main/js/{ => apps}/api-documentation/list.js (100%) rename server/sonar-web/src/main/js/{ => apps}/api-documentation/router.js (100%) rename server/sonar-web/src/main/{hbs/api-documentation => js/apps/api-documentation/templates}/api-documentation-action.hbs (100%) rename server/sonar-web/src/main/{hbs/api-documentation => js/apps/api-documentation/templates}/api-documentation-filters.hbs (100%) rename server/sonar-web/src/main/{hbs/api-documentation => js/apps/api-documentation/templates}/api-documentation-header.hbs (100%) rename server/sonar-web/src/main/{hbs/api-documentation => js/apps/api-documentation/templates}/api-documentation-layout.hbs (100%) rename server/sonar-web/src/main/{hbs/api-documentation => js/apps/api-documentation/templates}/api-documentation-web-service.hbs (100%) rename server/sonar-web/src/main/js/{ => apps}/coding-rules/app.js (92%) rename server/sonar-web/src/main/js/{ => apps}/coding-rules/bulk-change-modal-view.js (98%) rename server/sonar-web/src/main/js/{ => apps}/coding-rules/bulk-change-popup-view.js (95%) rename server/sonar-web/src/main/js/{ => apps}/coding-rules/controller.js (98%) rename server/sonar-web/src/main/js/{ => apps}/coding-rules/facets-view.js (76%) rename server/sonar-web/src/main/js/{ => apps}/coding-rules/facets/active-severity-facet.js (97%) rename server/sonar-web/src/main/js/{ => apps}/coding-rules/facets/available-since-facet.js (96%) rename server/sonar-web/src/main/js/{ => apps}/coding-rules/facets/base-facet.js (97%) rename server/sonar-web/src/main/js/{ => apps}/coding-rules/facets/characteristic-facet.js (97%) rename server/sonar-web/src/main/js/{ => apps}/coding-rules/facets/custom-labels-facet.js (97%) rename server/sonar-web/src/main/js/{ => apps}/coding-rules/facets/custom-values-facet.js (97%) rename server/sonar-web/src/main/js/{ => apps}/coding-rules/facets/inheritance-facet.js (98%) rename server/sonar-web/src/main/js/{ => apps}/coding-rules/facets/key-facet.js (95%) rename server/sonar-web/src/main/js/{ => apps}/coding-rules/facets/language-facet.js (97%) rename server/sonar-web/src/main/js/{ => apps}/coding-rules/facets/quality-profile-facet.js (98%) rename server/sonar-web/src/main/js/{ => apps}/coding-rules/facets/query-facet.js (96%) rename server/sonar-web/src/main/js/{ => apps}/coding-rules/facets/repository-facet.js (98%) rename server/sonar-web/src/main/js/{ => apps}/coding-rules/facets/severity-facet.js (94%) rename server/sonar-web/src/main/js/{ => apps}/coding-rules/facets/status-facet.js (97%) rename server/sonar-web/src/main/js/{ => apps}/coding-rules/facets/tag-facet.js (97%) rename server/sonar-web/src/main/js/{ => apps}/coding-rules/facets/template-facet.js (96%) rename server/sonar-web/src/main/js/{ => apps}/coding-rules/filters-view.js (97%) rename server/sonar-web/src/main/js/{ => apps}/coding-rules/layout.js (98%) rename server/sonar-web/src/main/js/{ => apps}/coding-rules/models/rule.js (100%) rename server/sonar-web/src/main/js/{ => apps}/coding-rules/models/rules.js (98%) rename server/sonar-web/src/main/js/{ => apps}/coding-rules/models/state.js (100%) rename server/sonar-web/src/main/js/{ => apps}/coding-rules/rule-details-view.js (93%) rename server/sonar-web/src/main/js/{ => apps}/coding-rules/rule-filter-view.js (96%) rename server/sonar-web/src/main/js/{ => apps}/coding-rules/rule/custom-rule-creation-view.js (99%) rename server/sonar-web/src/main/js/{ => apps}/coding-rules/rule/custom-rule-view.js (98%) rename server/sonar-web/src/main/js/{ => apps}/coding-rules/rule/custom-rules-view.js (94%) rename server/sonar-web/src/main/js/{ => apps}/coding-rules/rule/manual-rule-creation-view.js (98%) rename server/sonar-web/src/main/js/{ => apps}/coding-rules/rule/profile-activation-view.js (99%) rename server/sonar-web/src/main/js/{ => apps}/coding-rules/rule/rule-description-view.js (99%) rename server/sonar-web/src/main/js/{ => apps}/coding-rules/rule/rule-filter-mixin.js (97%) rename server/sonar-web/src/main/js/{ => apps}/coding-rules/rule/rule-issues-view.js (98%) rename server/sonar-web/src/main/js/{ => apps}/coding-rules/rule/rule-meta-view.js (98%) rename server/sonar-web/src/main/js/{ => apps}/coding-rules/rule/rule-parameters-view.js (98%) rename server/sonar-web/src/main/js/{ => apps}/coding-rules/rule/rule-profile-view.js (98%) rename server/sonar-web/src/main/js/{ => apps}/coding-rules/rule/rule-profiles-view.js (95%) rename server/sonar-web/src/main/{hbs/coding-rules => js/apps/coding-rules/templates}/_coding-rules-workspace-list-item-activation.hbs (100%) rename server/sonar-web/src/main/{hbs/coding-rules => js/apps/coding-rules/templates}/coding-rules-bulk-change-modal.hbs (100%) rename server/sonar-web/src/main/{hbs/coding-rules => js/apps/coding-rules/templates}/coding-rules-bulk-change-popup.hbs (100%) rename server/sonar-web/src/main/{hbs/coding-rules => js/apps/coding-rules/templates}/coding-rules-filters.hbs (100%) rename server/sonar-web/src/main/{hbs/coding-rules => js/apps/coding-rules/templates}/coding-rules-layout.hbs (100%) rename server/sonar-web/src/main/{hbs/coding-rules => js/apps/coding-rules/templates}/coding-rules-rule-details.hbs (100%) rename server/sonar-web/src/main/{hbs/coding-rules => js/apps/coding-rules/templates}/coding-rules-rule-filter-form.hbs (100%) rename server/sonar-web/src/main/{hbs/coding-rules => js/apps/coding-rules/templates}/coding-rules-workspace-header.hbs (100%) rename server/sonar-web/src/main/{hbs/coding-rules => js/apps/coding-rules/templates}/coding-rules-workspace-list-item.hbs (100%) rename server/sonar-web/src/main/{hbs/coding-rules => js/apps/coding-rules/templates}/coding-rules-workspace-list.hbs (100%) rename server/sonar-web/src/main/{hbs/coding-rules => js/apps/coding-rules/templates}/facets/_coding-rules-facet-header.hbs (100%) rename server/sonar-web/src/main/{hbs/coding-rules => js/apps/coding-rules/templates}/facets/coding-rules-available-since-facet.hbs (100%) rename server/sonar-web/src/main/{hbs/coding-rules => js/apps/coding-rules/templates}/facets/coding-rules-base-facet.hbs (100%) rename server/sonar-web/src/main/{hbs/coding-rules => js/apps/coding-rules/templates}/facets/coding-rules-characteristic-facet.hbs (100%) rename server/sonar-web/src/main/{hbs/coding-rules => js/apps/coding-rules/templates}/facets/coding-rules-custom-values-facet.hbs (100%) rename server/sonar-web/src/main/{hbs/coding-rules => js/apps/coding-rules/templates}/facets/coding-rules-key-facet.hbs (100%) rename server/sonar-web/src/main/{hbs/coding-rules => js/apps/coding-rules/templates}/facets/coding-rules-quality-profile-facet.hbs (100%) rename server/sonar-web/src/main/{hbs/coding-rules => js/apps/coding-rules/templates}/facets/coding-rules-query-facet.hbs (100%) rename server/sonar-web/src/main/{hbs/coding-rules => js/apps/coding-rules/templates}/facets/coding-rules-severity-facet.hbs (100%) rename server/sonar-web/src/main/{hbs/coding-rules => js/apps/coding-rules/templates}/facets/coding-rules-template-facet.hbs (100%) rename server/sonar-web/src/main/{hbs/coding-rules => js/apps/coding-rules/templates}/rule/coding-rules-custom-rule-creation.hbs (100%) rename server/sonar-web/src/main/{hbs/coding-rules => js/apps/coding-rules/templates}/rule/coding-rules-custom-rule.hbs (100%) rename server/sonar-web/src/main/{hbs/coding-rules => js/apps/coding-rules/templates}/rule/coding-rules-custom-rules.hbs (100%) rename server/sonar-web/src/main/{hbs/coding-rules => js/apps/coding-rules/templates}/rule/coding-rules-manual-rule-creation.hbs (100%) rename server/sonar-web/src/main/{hbs/coding-rules => js/apps/coding-rules/templates}/rule/coding-rules-profile-activation.hbs (100%) rename server/sonar-web/src/main/{hbs/coding-rules => js/apps/coding-rules/templates}/rule/coding-rules-rule-description.hbs (100%) rename server/sonar-web/src/main/{hbs/coding-rules => js/apps/coding-rules/templates}/rule/coding-rules-rule-issues.hbs (100%) rename server/sonar-web/src/main/{hbs/coding-rules => js/apps/coding-rules/templates}/rule/coding-rules-rule-meta.hbs (100%) rename server/sonar-web/src/main/{hbs/coding-rules => js/apps/coding-rules/templates}/rule/coding-rules-rule-parameters.hbs (100%) rename server/sonar-web/src/main/{hbs/coding-rules => js/apps/coding-rules/templates}/rule/coding-rules-rule-profile.hbs (100%) rename server/sonar-web/src/main/{hbs/coding-rules => js/apps/coding-rules/templates}/rule/coding-rules-rule-profiles.hbs (100%) rename server/sonar-web/src/main/js/{ => apps}/coding-rules/workspace-header-view.js (95%) rename server/sonar-web/src/main/js/{ => apps}/coding-rules/workspace-list-empty-view.js (100%) rename server/sonar-web/src/main/js/{ => apps}/coding-rules/workspace-list-item-view.js (96%) rename server/sonar-web/src/main/js/{ => apps}/coding-rules/workspace-list-view.js (92%) rename server/sonar-web/src/main/js/{ => apps}/drilldown/app.js (95%) rename server/sonar-web/src/main/js/{ => apps}/markdown/app.js (94%) rename server/sonar-web/src/main/js/{ => apps}/markdown/markdown-help-view.js (95%) rename server/sonar-web/src/main/{hbs/markdown => js/apps/markdown/templates}/markdown-help.hbs (100%) rename server/sonar-web/src/main/js/{ => apps}/measures/app.js (92%) rename server/sonar-web/src/main/js/{ => apps}/measures/measures-filter-bar.js (92%) rename server/sonar-web/src/main/js/{ => apps}/nav/app.js (94%) rename server/sonar-web/src/main/js/{ => apps}/nav/context-navbar-view.js (99%) rename server/sonar-web/src/main/js/{ => apps}/nav/global-navbar-view.js (97%) rename server/sonar-web/src/main/js/{ => apps}/nav/search-view.js (99%) rename server/sonar-web/src/main/js/{ => apps}/nav/settings-navbar-view.js (98%) rename server/sonar-web/src/main/js/{ => apps}/nav/shortcuts-help-view.js (95%) rename server/sonar-web/src/main/js/{ => apps}/nav/state.js (100%) rename server/sonar-web/src/main/{hbs/nav => js/apps/nav/templates}/_nav-logo.hbs (100%) rename server/sonar-web/src/main/{hbs/nav => js/apps/nav/templates}/_nav-navbar-label.hbs (100%) rename server/sonar-web/src/main/{hbs/nav => js/apps/nav/templates}/nav-context-navbar.hbs (100%) rename server/sonar-web/src/main/{hbs/nav => js/apps/nav/templates}/nav-global-navbar.hbs (100%) rename server/sonar-web/src/main/{hbs/nav => js/apps/nav/templates}/nav-search-empty.hbs (100%) rename server/sonar-web/src/main/{hbs/nav => js/apps/nav/templates}/nav-search-item.hbs (100%) rename server/sonar-web/src/main/{hbs/nav => js/apps/nav/templates}/nav-search.hbs (100%) rename server/sonar-web/src/main/{hbs/nav => js/apps/nav/templates}/nav-settings-navbar.hbs (100%) rename server/sonar-web/src/main/{hbs/nav => js/apps/nav/templates}/nav-shortcuts-help.hbs (100%) rename server/sonar-web/src/main/js/{ => apps}/quality-profiles/actions-view.js (95%) rename server/sonar-web/src/main/js/{ => apps}/quality-profiles/app.js (92%) rename server/sonar-web/src/main/js/{ => apps}/quality-profiles/change-profile-parent-view.js (97%) rename server/sonar-web/src/main/js/{ => apps}/quality-profiles/controller.js (98%) rename server/sonar-web/src/main/js/{ => apps}/quality-profiles/copy-profile-view.js (96%) rename server/sonar-web/src/main/js/{ => apps}/quality-profiles/create-profile-view.js (96%) rename server/sonar-web/src/main/js/{ => apps}/quality-profiles/delete-profile-view.js (97%) rename server/sonar-web/src/main/js/{ => apps}/quality-profiles/helpers.js (100%) rename server/sonar-web/src/main/js/{ => apps}/quality-profiles/intro-view.js (97%) rename server/sonar-web/src/main/js/{ => apps}/quality-profiles/layout.js (96%) rename server/sonar-web/src/main/js/{ => apps}/quality-profiles/profile-changelog-view.js (98%) rename server/sonar-web/src/main/js/{ => apps}/quality-profiles/profile-comparison-view.js (98%) rename server/sonar-web/src/main/js/{ => apps}/quality-profiles/profile-details-view.js (95%) rename server/sonar-web/src/main/js/{ => apps}/quality-profiles/profile-header-view.js (94%) rename server/sonar-web/src/main/js/{ => apps}/quality-profiles/profile-view.js (98%) rename server/sonar-web/src/main/js/{ => apps}/quality-profiles/profile.js (100%) rename server/sonar-web/src/main/js/{ => apps}/quality-profiles/profiles-view.js (97%) rename server/sonar-web/src/main/js/{ => apps}/quality-profiles/profiles.js (97%) rename server/sonar-web/src/main/js/{ => apps}/quality-profiles/rename-profile-view.js (97%) rename server/sonar-web/src/main/js/{ => apps}/quality-profiles/restore-built-in-profiles-view.js (97%) rename server/sonar-web/src/main/js/{ => apps}/quality-profiles/restore-profile-view.js (94%) rename server/sonar-web/src/main/js/{ => apps}/quality-profiles/router.js (100%) rename server/sonar-web/src/main/{hbs/quality-profiles => js/apps/quality-profiles/templates}/quality-profile-changelog.hbs (100%) rename server/sonar-web/src/main/{hbs/quality-profiles => js/apps/quality-profiles/templates}/quality-profile-comparison.hbs (100%) rename server/sonar-web/src/main/{hbs/quality-profiles => js/apps/quality-profiles/templates}/quality-profiles-actions.hbs (100%) rename server/sonar-web/src/main/{hbs/quality-profiles => js/apps/quality-profiles/templates}/quality-profiles-change-profile-parent.hbs (100%) rename server/sonar-web/src/main/{hbs/quality-profiles => js/apps/quality-profiles/templates}/quality-profiles-copy-profile.hbs (100%) rename server/sonar-web/src/main/{hbs/quality-profiles => js/apps/quality-profiles/templates}/quality-profiles-create-profile.hbs (100%) rename server/sonar-web/src/main/{hbs/quality-profiles => js/apps/quality-profiles/templates}/quality-profiles-delete-profile.hbs (100%) rename server/sonar-web/src/main/{hbs/quality-profiles => js/apps/quality-profiles/templates}/quality-profiles-intro.hbs (100%) rename server/sonar-web/src/main/{hbs/quality-profiles => js/apps/quality-profiles/templates}/quality-profiles-layout.hbs (100%) rename server/sonar-web/src/main/{hbs/quality-profiles => js/apps/quality-profiles/templates}/quality-profiles-profile-details.hbs (100%) rename server/sonar-web/src/main/{hbs/quality-profiles => js/apps/quality-profiles/templates}/quality-profiles-profile-header.hbs (100%) rename server/sonar-web/src/main/{hbs/quality-profiles => js/apps/quality-profiles/templates}/quality-profiles-profile.hbs (100%) rename server/sonar-web/src/main/{hbs/quality-profiles => js/apps/quality-profiles/templates}/quality-profiles-profiles-language.hbs (100%) rename server/sonar-web/src/main/{hbs/quality-profiles => js/apps/quality-profiles/templates}/quality-profiles-profiles.hbs (100%) rename server/sonar-web/src/main/{hbs/quality-profiles => js/apps/quality-profiles/templates}/quality-profiles-rename-profile.hbs (100%) rename server/sonar-web/src/main/{hbs/quality-profiles => js/apps/quality-profiles/templates}/quality-profiles-restore-built-in-profiles.hbs (100%) rename server/sonar-web/src/main/{hbs/quality-profiles => js/apps/quality-profiles/templates}/quality-profiles-restore-profile.hbs (100%) rename server/sonar-web/src/main/js/{ => apps}/source-viewer/app.js (97%) rename server/sonar-web/src/main/js/{ => components}/common/file-upload.js (100%) rename server/sonar-web/src/main/js/{ => components}/common/handlebars-extensions.js (100%) rename server/sonar-web/src/main/js/{ => components}/common/jquery-isolated-scroll.js (100%) rename server/sonar-web/src/main/js/{ => components}/common/modal-form.js (97%) rename server/sonar-web/src/main/js/{ => components}/common/modals.js (100%) rename server/sonar-web/src/main/js/{ => components}/common/processes.js (100%) rename server/sonar-web/src/main/js/{ => components}/common/select-list.js (100%) rename server/sonar-web/src/main/js/{ => components}/common/selectable-collection-view.js (100%) rename server/sonar-web/src/main/{hbs/common => js/components/common/templates}/_markdown-tips.hbs (100%) rename server/sonar-web/src/main/js/{ => components}/navigator/filters/ajax-select-filters.js (99%) rename server/sonar-web/src/main/js/{ => components}/navigator/filters/base-filters.js (99%) rename server/sonar-web/src/main/js/{ => components}/navigator/filters/checkbox-filters.js (96%) rename server/sonar-web/src/main/js/{ => components}/navigator/filters/choice-filters.js (99%) rename server/sonar-web/src/main/js/{ => components}/navigator/filters/favorite-filters.js (96%) rename server/sonar-web/src/main/js/{ => components}/navigator/filters/filter-bar.js (92%) rename server/sonar-web/src/main/js/{ => components}/navigator/filters/metric-filters.js (99%) rename server/sonar-web/src/main/js/{ => components}/navigator/filters/more-criteria-filters.js (96%) rename server/sonar-web/src/main/js/{ => components}/navigator/filters/range-filters.js (98%) rename server/sonar-web/src/main/js/{ => components}/navigator/filters/string-filters.js (97%) rename server/sonar-web/src/main/{hbs/navigator => js/components/navigator/templates}/ajax-select-filter.hbs (100%) rename server/sonar-web/src/main/{hbs/navigator => js/components/navigator/templates}/base-details-filter.hbs (100%) rename server/sonar-web/src/main/{hbs/navigator => js/components/navigator/templates}/base-filter.hbs (100%) rename server/sonar-web/src/main/{hbs/navigator => js/components/navigator/templates}/checkbox-filter.hbs (100%) rename server/sonar-web/src/main/{hbs/navigator => js/components/navigator/templates}/choice-filter-item.hbs (100%) rename server/sonar-web/src/main/{hbs/navigator => js/components/navigator/templates}/choice-filter-template.hbs (100%) rename server/sonar-web/src/main/{hbs/navigator => js/components/navigator/templates}/choice-filter.hbs (100%) rename server/sonar-web/src/main/{hbs/navigator => js/components/navigator/templates}/favorite-details-filter.hbs (100%) rename server/sonar-web/src/main/{hbs/navigator => js/components/navigator/templates}/favorite-filter.hbs (100%) rename server/sonar-web/src/main/{hbs/navigator => js/components/navigator/templates}/metric-filter.hbs (100%) rename server/sonar-web/src/main/{hbs/navigator => js/components/navigator/templates}/more-criteria-details-filter.hbs (100%) rename server/sonar-web/src/main/{hbs/navigator => js/components/navigator/templates}/more-criteria-filter.hbs (100%) rename server/sonar-web/src/main/{hbs/navigator => js/components/navigator/templates}/range-filter.hbs (100%) rename server/sonar-web/src/main/{hbs/navigator => js/components/navigator/templates}/string-filter.hbs (100%) rename server/sonar-web/src/main/js/{ => components}/source-viewer/header.js (96%) rename server/sonar-web/src/main/js/{source-viewer/viewer.js => components/source-viewer/main.js} (98%) rename server/sonar-web/src/main/js/{ => components}/source-viewer/measures-overlay.js (99%) rename server/sonar-web/src/main/js/{ => components}/source-viewer/more-actions.js (95%) rename server/sonar-web/src/main/js/{ => components}/source-viewer/popups/coverage-popup.js (94%) rename server/sonar-web/src/main/js/{ => components}/source-viewer/popups/duplication-popup.js (94%) rename server/sonar-web/src/main/js/{ => components}/source-viewer/popups/line-actions-popup.js (95%) rename server/sonar-web/src/main/js/{ => components}/source-viewer/popups/scm-popup.js (96%) rename server/sonar-web/src/main/js/{ => components}/source-viewer/source.js (100%) rename server/sonar-web/src/main/{hbs/source-viewer => js/components/source-viewer/templates}/measures/_source-viewer-measures-all.hbs (100%) rename server/sonar-web/src/main/{hbs/source-viewer => js/components/source-viewer/templates}/measures/_source-viewer-measures-coverage.hbs (100%) rename server/sonar-web/src/main/{hbs/source-viewer => js/components/source-viewer/templates}/measures/_source-viewer-measures-duplications.hbs (100%) rename server/sonar-web/src/main/{hbs/source-viewer => js/components/source-viewer/templates}/measures/_source-viewer-measures-issues.hbs (100%) rename server/sonar-web/src/main/{hbs/source-viewer => js/components/source-viewer/templates}/measures/_source-viewer-measures-lines.hbs (100%) rename server/sonar-web/src/main/{hbs/source-viewer => js/components/source-viewer/templates}/measures/_source-viewer-measures-test-cases.hbs (100%) rename server/sonar-web/src/main/{hbs/source-viewer => js/components/source-viewer/templates}/measures/_source-viewer-measures-tests.hbs (100%) rename server/sonar-web/src/main/{hbs/source-viewer => js/components/source-viewer/templates}/source-viewer-coverage-popup.hbs (100%) rename server/sonar-web/src/main/{hbs/source-viewer => js/components/source-viewer/templates}/source-viewer-duplication-popup.hbs (100%) rename server/sonar-web/src/main/{hbs/source-viewer => js/components/source-viewer/templates}/source-viewer-header.hbs (100%) rename server/sonar-web/src/main/{hbs/source-viewer => js/components/source-viewer/templates}/source-viewer-line-options-popup.hbs (100%) rename server/sonar-web/src/main/{hbs/source-viewer => js/components/source-viewer/templates}/source-viewer-measures.hbs (100%) rename server/sonar-web/src/main/{hbs/source-viewer => js/components/source-viewer/templates}/source-viewer-more-actions.hbs (100%) rename server/sonar-web/src/main/{hbs/source-viewer => js/components/source-viewer/templates}/source-viewer-scm-popup.hbs (100%) rename server/sonar-web/src/main/{hbs/source-viewer => js/components/source-viewer/templates}/source-viewer.hbs (100%) rename server/sonar-web/src/main/js/{ => components}/workspace/main.js (96%) rename server/sonar-web/src/main/js/{ => components}/workspace/models/item.js (100%) rename server/sonar-web/src/main/js/{ => components}/workspace/models/items.js (97%) rename server/sonar-web/src/main/{hbs/workspace => js/components/workspace/templates}/workspace-item.hbs (100%) rename server/sonar-web/src/main/{hbs/workspace => js/components/workspace/templates}/workspace-items.hbs (100%) rename server/sonar-web/src/main/{hbs/workspace => js/components/workspace/templates}/workspace-rule.hbs (100%) rename server/sonar-web/src/main/{hbs/workspace => js/components/workspace/templates}/workspace-viewer-header.hbs (100%) rename server/sonar-web/src/main/{hbs/workspace => js/components/workspace/templates}/workspace-viewer.hbs (100%) rename server/sonar-web/src/main/js/{ => components}/workspace/views/base-viewer-view.js (97%) rename server/sonar-web/src/main/js/{ => components}/workspace/views/item-view.js (98%) rename server/sonar-web/src/main/js/{ => components}/workspace/views/items-view.js (95%) rename server/sonar-web/src/main/js/{ => components}/workspace/views/rule-view.js (96%) rename server/sonar-web/src/main/js/{ => components}/workspace/views/viewer-header-view.js (99%) rename server/sonar-web/src/main/js/{ => components}/workspace/views/viewer-view.js (92%) rename server/sonar-web/src/main/js/{ => libs}/application.js (100%) rename server/sonar-web/src/main/js/{ => libs}/csv.js (100%) rename server/sonar-web/src/main/js/{ => libs}/dashboard.js (100%) rename server/sonar-web/src/main/js/{ => libs}/graphics/barchart.js (100%) rename server/sonar-web/src/main/js/{ => libs}/graphics/pie-chart.js (100%) rename server/sonar-web/src/main/js/{ => libs}/recent-history.js (100%) create mode 100644 server/sonar-web/src/main/js/libs/require.js rename server/sonar-web/src/main/js/{ => libs}/select2-jquery-ui-fix.js (100%) rename server/sonar-web/src/main/js/{ => libs}/sortable.js (100%) rename server/sonar-web/src/main/js/{ => libs}/third-party/backbone.js (100%) rename server/sonar-web/src/main/js/{ => libs}/third-party/backbone.marionette.js (100%) rename server/sonar-web/src/main/js/{ => libs}/third-party/bootstrap/dropdown.js (100%) rename server/sonar-web/src/main/js/{ => libs}/third-party/bootstrap/tooltip.js (100%) rename server/sonar-web/src/main/js/{ => libs}/third-party/d3.js (100%) rename server/sonar-web/src/main/js/{ => libs}/third-party/handlebars.js (100%) rename server/sonar-web/src/main/js/{ => libs}/third-party/jquery-ui.js (100%) rename server/sonar-web/src/main/js/{ => libs}/third-party/jquery.js (100%) rename server/sonar-web/src/main/js/{ => libs}/third-party/jquery.mockjax.js (100%) rename server/sonar-web/src/main/js/{ => libs}/third-party/keymaster.js (100%) rename server/sonar-web/src/main/js/{ => libs}/third-party/latinize.js (100%) rename server/sonar-web/src/main/js/{ => libs}/third-party/moment.js (100%) rename server/sonar-web/src/main/js/{ => libs}/third-party/numeral-languages.js (100%) rename server/sonar-web/src/main/js/{ => libs}/third-party/numeral.js (100%) rename server/sonar-web/src/main/js/{ => libs}/third-party/select2.js (100%) rename server/sonar-web/src/main/js/{ => libs}/third-party/underscore.js (100%) rename server/sonar-web/src/main/js/{ => libs}/translate.js (100%) rename server/sonar-web/src/main/js/{ => libs}/widgets/bubble-chart.js (100%) rename server/sonar-web/src/main/js/{ => libs}/widgets/pie-chart.js (100%) rename server/sonar-web/src/main/js/{ => libs}/widgets/stack-area.js (100%) rename server/sonar-web/src/main/js/{ => libs}/widgets/timeline.js (100%) rename server/sonar-web/src/main/js/{ => libs}/widgets/widget.js (100%) delete mode 100644 server/sonar-web/src/main/js/require.js rename server/sonar-web/src/main/{hbs/widgets => js/widgets/issue-filter/templates}/_widget-issue-filter-limit.hbs (100%) rename server/sonar-web/src/main/{hbs/widgets => js/widgets/issue-filter/templates}/_widget-issue-filter-total.hbs (100%) rename server/sonar-web/src/main/{hbs/widgets => js/widgets/issue-filter/templates}/widget-issue-filter-action-plans.hbs (100%) rename server/sonar-web/src/main/{hbs/widgets => js/widgets/issue-filter/templates}/widget-issue-filter-assignees.hbs (100%) rename server/sonar-web/src/main/{hbs/widgets => js/widgets/issue-filter/templates}/widget-issue-filter-resolutions.hbs (100%) rename server/sonar-web/src/main/{hbs/widgets => js/widgets/issue-filter/templates}/widget-issue-filter-severities.hbs (100%) rename server/sonar-web/src/main/{hbs/widgets => js/widgets/issue-filter/templates}/widget-issue-filter-statuses.hbs (100%) rename server/sonar-web/src/main/{hbs/widgets => js/widgets/issue-filter/templates}/widget-issue-filter.hbs (100%) rename server/sonar-web/src/main/js/widgets/{issue-filter.js => issue-filter/widget.js} (99%) diff --git a/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/issues/issue_filter.html.erb b/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/issues/issue_filter.html.erb index 10a2f1ae5e5..f70e79ec85b 100644 --- a/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/issues/issue_filter.html.erb +++ b/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/issues/issue_filter.html.erb @@ -27,7 +27,7 @@ return; } - require(['widgets/issue-filter'], function (IssueFilter) { + require(['widgets/issue-filter/widget'], function (IssueFilter) { window.requestMessages().done(function () { new IssueFilter({ el: '#<%= container_id -%>', diff --git a/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/issues/project_issue_filter.html.erb b/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/issues/project_issue_filter.html.erb index 46a1e088d7d..16edb8192d1 100644 --- a/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/issues/project_issue_filter.html.erb +++ b/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/issues/project_issue_filter.html.erb @@ -33,7 +33,7 @@ return; } - require(['widgets/issue-filter'], function (IssueFilter) { + require(['widgets/issue-filter/widget'], function (IssueFilter) { window.requestMessages().done(function () { new IssueFilter({ el: '#<%= container_id -%>', diff --git a/server/sonar-web/.gitignore b/server/sonar-web/.gitignore index 0a915bbc459..704f5b5a922 100644 --- a/server/sonar-web/.gitignore +++ b/server/sonar-web/.gitignore @@ -5,7 +5,7 @@ node/ node_modules/ # build -src/main/webapp/build/ +build/ src/main/webapp/js/ src/main/webapp/css/ src/main/webapp/WEB-INF/lib/*.jar diff --git a/server/sonar-web/Gruntfile.coffee b/server/sonar-web/Gruntfile.coffee index 892a11c2f45..a229f16ae23 100644 --- a/server/sonar-web/Gruntfile.coffee +++ b/server/sonar-web/Gruntfile.coffee @@ -4,238 +4,171 @@ module.exports = (grunt) -> unzip: 'grunt-zip' replace: 'grunt-text-replace' }); + require('time-grunt')(grunt); - pkg = grunt.file.readJSON('package.json') expressPort = '<%= grunt.option("port") || 3000 %>' isWindows = process.platform == 'win32' grunt.initConfig pkg: grunt.file.readJSON('package.json') + SOURCE_PATH: './src/main' + ASSETS_PATH: grunt.option("assetsDir") || './src/main/webapp' + BUILD_PATH: './build' + less: build: - options: cleancss: true + options: + cleancss: true files: - '<%= grunt.option("assetsDir") || pkg.assets %>css/sonar.css': [ - '<%= pkg.sources %>less/jquery-ui.less' - '<%= pkg.sources %>less/select2.less' - '<%= pkg.sources %>less/select2-sonar.less' + '<%= BUILD_PATH %>/css/sonar.css': [ + '<%= SOURCE_PATH %>/less/jquery-ui.less' + '<%= SOURCE_PATH %>/less/select2.less' + '<%= SOURCE_PATH %>/less/select2-sonar.less' - '<%= pkg.sources %>less/init.less' - '<%= pkg.sources %>less/components.less' - '<%= pkg.sources %>less/pages.less' + '<%= SOURCE_PATH %>/less/init.less' + '<%= SOURCE_PATH %>/less/components.less' + '<%= SOURCE_PATH %>/less/pages.less' - '<%= pkg.sources %>less/style.less' + '<%= SOURCE_PATH %>/less/style.less' - '<%= pkg.sources %>less/*.less' + '<%= SOURCE_PATH %>/less/*.less' ] - cssUrlRewrite: - build: - src: '<%= grunt.option("assetsDir") || pkg.assets %>css/sonar.css' - dest: '<%= grunt.option("assetsDir") || pkg.assets %>css/sonar.css' - options: - skipExternal: true - rewriteUrl: (url, options, dataURI) -> - path = url.replace pkg.assets, '' - if path.indexOf('data:') == 0 - "#{path}" - else - hash = require('crypto').createHash('md5').update(dataURI).digest('hex') - "../#{path}?#{hash}" - - - coffee: build: files: [ expand: true - cwd: '<%= pkg.sources %>coffee' + cwd: '<%= SOURCE_PATH %>/coffee' src: ['**/*.coffee'] - dest: '<%= grunt.option("assetsDir") || pkg.assets %>js' + dest: '<%= BUILD_PATH %>/js' ext: '.js' ] concat: - dev: - files: - '<%= grunt.option("assetsDir") || pkg.assets %>js/sonar.js': [ - '<%= grunt.option("assetsDir") || pkg.assets %>js/translate.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/third-party/jquery.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/third-party/jquery-ui.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/third-party/d3.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/third-party/latinize.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/third-party/underscore.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/third-party/backbone.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/third-party/backbone.marionette.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/third-party/handlebars.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/third-party/underscore.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/third-party/select2.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/third-party/keymaster.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/third-party/moment.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/third-party/numeral.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/third-party/numeral-languages.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/third-party/bootstrap/tooltip.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/third-party/bootstrap/dropdown.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/select2-jquery-ui-fix.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/widgets/base.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/widgets/widget.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/widgets/bubble-chart.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/widgets/timeline.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/widgets/stack-area.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/widgets/pie-chart.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/widgets/histogram.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/widgets/word-cloud.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/widgets/tag-cloud.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/widgets/treemap.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/graphics/pie-chart.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/graphics/barchart.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/sortable.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/common/inputs.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/common/dialogs.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/common/processes.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/common/jquery-isolated-scroll.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/common/handlebars-extensions.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/application.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/csv.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/dashboard.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/recent-history.js' - ] build: files: - '<%= grunt.option("assetsDir") || pkg.assets %>build/js/sonar.js': [ - '<%= grunt.option("assetsDir") || pkg.assets %>js/translate.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/third-party/jquery.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/third-party/jquery-ui.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/third-party/d3.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/third-party/latinize.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/third-party/underscore.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/third-party/backbone.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/third-party/backbone.marionette.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/third-party/handlebars.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/third-party/underscore.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/third-party/select2.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/third-party/keymaster.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/third-party/moment.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/third-party/numeral.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/third-party/numeral-languages.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/third-party/bootstrap/tooltip.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/third-party/bootstrap/dropdown.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/select2-jquery-ui-fix.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/widgets/base.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/widgets/widget.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/widgets/bubble-chart.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/widgets/timeline.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/widgets/stack-area.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/widgets/pie-chart.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/widgets/histogram.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/widgets/word-cloud.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/widgets/tag-cloud.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/widgets/treemap.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/graphics/pie-chart.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/graphics/barchart.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/sortable.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/common/inputs.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/common/dialogs.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/common/processes.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/common/jquery-isolated-scroll.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/common/handlebars-extensions.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/application.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/csv.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/dashboard.js' - '<%= grunt.option("assetsDir") || pkg.assets %>js/recent-history.js' + '<%= BUILD_PATH %>/js/sonar.js': [ + '<%= BUILD_PATH %>/js/libs/translate.js' + '<%= BUILD_PATH %>/js/libs/third-party/jquery.js' + '<%= BUILD_PATH %>/js/libs/third-party/jquery-ui.js' + '<%= BUILD_PATH %>/js/libs/third-party/d3.js' + '<%= BUILD_PATH %>/js/libs/third-party/latinize.js' + '<%= BUILD_PATH %>/js/libs/third-party/underscore.js' + '<%= BUILD_PATH %>/js/libs/third-party/backbone.js' + '<%= BUILD_PATH %>/js/libs/third-party/backbone.marionette.js' + '<%= BUILD_PATH %>/js/libs/third-party/handlebars.js' + '<%= BUILD_PATH %>/js/libs/third-party/underscore.js' + '<%= BUILD_PATH %>/js/libs/third-party/select2.js' + '<%= BUILD_PATH %>/js/libs/third-party/keymaster.js' + '<%= BUILD_PATH %>/js/libs/third-party/moment.js' + '<%= BUILD_PATH %>/js/libs/third-party/numeral.js' + '<%= BUILD_PATH %>/js/libs/third-party/numeral-languages.js' + '<%= BUILD_PATH %>/js/libs/third-party/bootstrap/tooltip.js' + '<%= BUILD_PATH %>/js/libs/third-party/bootstrap/dropdown.js' + '<%= BUILD_PATH %>/js/libs/select2-jquery-ui-fix.js' + + '<%= BUILD_PATH %>/js/libs/widgets/base.js' + '<%= BUILD_PATH %>/js/libs/widgets/widget.js' + '<%= BUILD_PATH %>/js/libs/widgets/bubble-chart.js' + '<%= BUILD_PATH %>/js/libs/widgets/timeline.js' + '<%= BUILD_PATH %>/js/libs/widgets/stack-area.js' + '<%= BUILD_PATH %>/js/libs/widgets/pie-chart.js' + '<%= BUILD_PATH %>/js/libs/widgets/histogram.js' + '<%= BUILD_PATH %>/js/libs/widgets/word-cloud.js' + '<%= BUILD_PATH %>/js/libs/widgets/tag-cloud.js' + '<%= BUILD_PATH %>/js/libs/widgets/treemap.js' + + '<%= BUILD_PATH %>/js/libs/graphics/pie-chart.js' + '<%= BUILD_PATH %>/js/libs/graphics/barchart.js' + '<%= BUILD_PATH %>/js/libs/sortable.js' + + '<%= BUILD_PATH %>/js/components/common/inputs.js' + '<%= BUILD_PATH %>/js/components/common/dialogs.js' + '<%= BUILD_PATH %>/js/components/common/processes.js' + '<%= BUILD_PATH %>/js/components/common/jquery-isolated-scroll.js' + '<%= BUILD_PATH %>/js/components/common/handlebars-extensions.js' + + '<%= BUILD_PATH %>/js/libs/application.js' + '<%= BUILD_PATH %>/js/libs/csv.js' + '<%= BUILD_PATH %>/js/libs/dashboard.js' + '<%= BUILD_PATH %>/js/libs/recent-history.js' + '<%= BUILD_PATH %>/js/libs/require.js' ] requirejs: options: - baseUrl: '<%= grunt.option("assetsDir") || pkg.assets %>js/' + baseUrl: '<%= BUILD_PATH %>/js/' preserveLicenseComments: false - optimize: 'none' - - paths: - 'backbone': 'third-party/backbone' - 'backbone.marionette': 'third-party/backbone.marionette' - 'handlebars': 'third-party/handlebars' - 'moment': 'third-party/moment' - 'select-list': 'common/select-list' - 'jquery.mockjax': 'third-party/jquery.mockjax' - - shim: - 'backbone.marionette': - deps: ['backbone'] - exports: 'Marionette' - 'backbone': exports: 'Backbone' - 'handlebars': exports: 'Handlebars' - 'moment': exports: 'moment' - 'select-list': exports: 'SelectList' qualityGate: options: - name: 'quality-gate/app' - out: '<%= grunt.option("assetsDir") || pkg.assets %>build/js/quality-gate/app.js' + name: 'apps/quality-gate/app' + out: '<%= ASSETS_PATH %>/js/apps/quality-gate/app.js' qualityProfiles: options: - name: 'quality-profiles/app' - out: '<%= grunt.option("assetsDir") || pkg.assets %>build/js/quality-profiles/app.js' + name: 'apps/quality-profiles/app' + out: '<%= ASSETS_PATH %>/js/apps/quality-profiles/app.js' codingRules: options: - name: 'coding-rules/app' - out: '<%= grunt.option("assetsDir") || pkg.assets %>build/js/coding-rules/app.js' + name: 'apps/coding-rules/app' + out: '<%= ASSETS_PATH %>/js/apps/coding-rules/app.js' issues: options: - name: 'issues/app-new' - out: '<%= grunt.option("assetsDir") || pkg.assets %>build/js/issues/app-new.js' + name: 'apps/issues/app-new' + out: '<%= ASSETS_PATH %>/js/apps/issues/app-new.js' issuesContext: options: - name: 'issues/app-context' - out: '<%= grunt.option("assetsDir") || pkg.assets %>build/js/issues/app-context.js' + name: 'apps/issues/app-context' + out: '<%= ASSETS_PATH %>/js/apps/issues/app-context.js' measures: options: - name: 'measures/app' - out: '<%= grunt.option("assetsDir") || pkg.assets %>build/js/measures/app.js' + name: 'apps/measures/app' + out: '<%= ASSETS_PATH %>/js/apps/measures/app.js' selectList: options: - name: 'common/select-list' - out: '<%= grunt.option("assetsDir") || pkg.assets %>build/js/common/select-list.js' + name: 'components/common/select-list' + out: '<%= ASSETS_PATH %>/js/components/common/select-list.js' apiDocumentation: options: - name: 'api-documentation/app' - out: '<%= grunt.option("assetsDir") || pkg.assets %>build/js/api-documentation/app.js' + name: 'apps/api-documentation/app' + out: '<%= ASSETS_PATH %>/js/apps/api-documentation/app.js' drilldown: options: - name: 'drilldown/app' - out: '<%= grunt.option("assetsDir") || pkg.assets %>build/js/drilldown/app.js' + name: 'apps/drilldown/app' + out: '<%= ASSETS_PATH %>/js/apps/drilldown/app.js' sourceViewer: options: - name: 'source-viewer/app' - out: '<%= grunt.option("assetsDir") || pkg.assets %>build/js/source-viewer/app.js' + name: 'apps/source-viewer/app' + out: '<%= ASSETS_PATH %>/js/apps/source-viewer/app.js' monitoring: options: - name: 'analysis-reports/app' - out: '<%= grunt.option("assetsDir") || pkg.assets %>build/js/analysis-reports/app.js' + name: 'apps/analysis-reports/app' + out: '<%= ASSETS_PATH %>/js/apps/analysis-reports/app.js' nav: options: - name: 'nav/app' - out: '<%= grunt.option("assetsDir") || pkg.assets %>build/js/nav/app.js' + name: 'apps/nav/app' + out: '<%= ASSETS_PATH %>/js/apps/nav/app.js' issueFilterWidget: options: - name: 'widgets/issue-filter' - out: '<%= grunt.option("assetsDir") || pkg.assets %>build/js/widgets/issue-filter.js' + name: 'widgets/issue-filter/widget' + out: '<%= ASSETS_PATH %>/js/widgets/issue-filter/widget.js' markdown: options: - name: 'markdown/app' - out: '<%= grunt.option("assetsDir") || pkg.assets %>build/js/markdown/app.js' + name: 'apps/markdown/app' + out: '<%= ASSETS_PATH %>/js/apps/markdown/app.js' parallel: compile: options: grunt: true tasks: ['less:build', 'coffee:build', 'handlebars:build'] - requirejs: + build: options: grunt: true tasks: [ + 'uglify:build' 'requirejs:qualityGate' 'requirejs:qualityProfiles' 'requirejs:codingRules' @@ -251,6 +184,14 @@ module.exports = (grunt) -> 'requirejs:issueFilterWidget' 'requirejs:markdown' ] + 'build-test': + options: + grunt: true + tasks: ['build-suffix', 'test-suffix'] + 'build-coverage': + options: + grunt: true + tasks: ['build-suffix', 'coverage-suffix'] handlebars: @@ -267,64 +208,66 @@ module.exports = (grunt) -> build: files: - '<%= grunt.option("assetsDir") || pkg.assets %>js/templates/navigator.js': [ - '<%= pkg.sources %>hbs/navigator/**/*.hbs' + '<%= BUILD_PATH %>/js/components/navigator/templates.js': [ + '<%= SOURCE_PATH %>/js/components/navigator/templates/**/*.hbs' ] - '<%= grunt.option("assetsDir") || pkg.assets %>js/templates/coding-rules.js': [ - '<%= pkg.sources %>hbs/common/**/*.hbs' - '<%= pkg.sources %>hbs/coding-rules/**/*.hbs' + '<%= BUILD_PATH %>/js/apps/coding-rules/templates.js': [ + '<%= SOURCE_PATH %>/js/components/common/templates/**/*.hbs' + '<%= SOURCE_PATH %>/js/apps/coding-rules/templates/**/*.hbs' ] - '<%= grunt.option("assetsDir") || pkg.assets %>js/templates/quality-gates.js': [ - '<%= pkg.sources %>hbs/quality-gates/**/*.hbs' + '<%= BUILD_PATH %>/js/apps/quality-gate/templates.js': [ + '<%= SOURCE_PATH %>/coffee/apps/quality-gate/templates/**/*.hbs' ] - '<%= grunt.option("assetsDir") || pkg.assets %>js/templates/quality-profiles.js': [ - '<%= pkg.sources %>hbs/quality-profiles/**/*.hbs' + '<%= BUILD_PATH %>/js/apps/quality-profiles/templates.js': [ + '<%= SOURCE_PATH %>/js/apps/quality-profiles/templates/**/*.hbs' ] - '<%= grunt.option("assetsDir") || pkg.assets %>js/templates/source-viewer.js': [ - '<%= pkg.sources %>hbs/source-viewer/**/*.hbs' + '<%= BUILD_PATH %>/js/components/source-viewer/templates.js': [ + '<%= SOURCE_PATH %>/js/components/source-viewer/templates/**/*.hbs' ] - '<%= grunt.option("assetsDir") || pkg.assets %>js/templates/issue.js': [ - '<%= pkg.sources %>hbs/common/**/*.hbs' - '<%= pkg.sources %>hbs/issue/**/*.hbs' + '<%= BUILD_PATH %>/js/components/issue/templates.js': [ + '<%= SOURCE_PATH %>/js/components/common/templates/**/*.hbs' + '<%= SOURCE_PATH %>/coffee/components/issue/templates/**/*.hbs' ] - '<%= grunt.option("assetsDir") || pkg.assets %>js/templates/issues.js': [ - '<%= pkg.sources %>hbs/issues/**/*.hbs' + '<%= BUILD_PATH %>/js/apps/issues/templates.js': [ + '<%= SOURCE_PATH %>/coffee/apps/issues/templates/**/*.hbs' ] - '<%= grunt.option("assetsDir") || pkg.assets %>js/templates/api-documentation.js': [ - '<%= pkg.sources %>hbs/api-documentation/**/*.hbs' + '<%= BUILD_PATH %>/js/apps/api-documentation/templates.js': [ + '<%= SOURCE_PATH %>/js/apps/api-documentation/templates/**/*.hbs' ] - '<%= grunt.option("assetsDir") || pkg.assets %>js/templates/analysis-reports.js': [ - '<%= pkg.sources %>hbs/analysis-reports/**/*.hbs' + '<%= BUILD_PATH %>/js/apps/analysis-reports/templates.js': [ + '<%= SOURCE_PATH %>/coffee/apps/analysis-reports/templates/**/*.hbs' ] - '<%= grunt.option("assetsDir") || pkg.assets %>js/templates/nav.js': [ - '<%= pkg.sources %>hbs/nav/**/*.hbs' + '<%= BUILD_PATH %>/js/apps/nav/templates.js': [ + '<%= SOURCE_PATH %>/js/apps/nav/templates/**/*.hbs' ] - '<%= grunt.option("assetsDir") || pkg.assets %>js/templates/widgets.js': [ - '<%= pkg.sources %>hbs/widgets/**/*.hbs' + '<%= BUILD_PATH %>/js/widgets/issue-filter/templates.js': [ + '<%= SOURCE_PATH %>/js/widgets/issue-filter/templates/**/*.hbs' ] - '<%= grunt.option("assetsDir") || pkg.assets %>js/templates/workspace.js': [ - '<%= pkg.sources %>hbs/workspace/**/*.hbs' + '<%= BUILD_PATH %>/js/components/workspace/templates.js': [ + '<%= SOURCE_PATH %>/js/components/workspace/templates/**/*.hbs' ] - '<%= grunt.option("assetsDir") || pkg.assets %>js/templates/markdown.js': [ - '<%= pkg.sources %>hbs/markdown/**/*.hbs' + '<%= BUILD_PATH %>/js/apps/markdown/templates.js': [ + '<%= SOURCE_PATH %>/js/apps/markdown/templates/**/*.hbs' ] clean: options: force: true - css: ['<%= grunt.option("assetsDir") || pkg.assets %>css/'] - js: ['<%= grunt.option("assetsDir") || pkg.assets %>js/'] - build: ['<%= grunt.option("assetsDir") || pkg.assets %>build/'] + css: ['<%= ASSETS_PATH %>/css'] + js: ['<%= ASSETS_PATH %>/js'] + build: ['<%= BUILD_PATH %>'] copy: js: - expand: true, cwd: '<%= pkg.sources %>js/', src: ['**'], dest: '<%= grunt.option("assetsDir") || pkg.assets %>js/' - build: - expand: true, cwd: '<%= grunt.option("assetsDir") || pkg.assets %>build/js/', src: ['**'], dest: '<%= grunt.option("assetsDir") || pkg.assets %>js/' - requirejs: - src: '<%= pkg.sources %>js/require.js', dest: '<%= grunt.option("assetsDir") || pkg.assets %>js/require.js' + expand: true, cwd: '<%= SOURCE_PATH %>/js', src: ['**/*.js'], dest: '<%= BUILD_PATH %>/js' + 'assets-js': + src: '<%= BUILD_PATH %>/js/sonar.js', dest: '<%= ASSETS_PATH %>/js/sonar.js' + 'assets-all-js': + expand: true, cwd: '<%= BUILD_PATH %>/js', src: ['**/*.js'], dest: '<%= ASSETS_PATH %>/js' + 'assets-css': + src: '<%= BUILD_PATH %>/css/sonar.css', dest: '<%= ASSETS_PATH %>/css/sonar.css' express: @@ -384,15 +327,10 @@ module.exports = (grunt) -> src: ['<%= grunt.option("file") %>'] - uglify_parallel: + uglify: build: - files: [ - expand: true - cwd: '<%= grunt.option("assetsDir") || pkg.assets %>js' - src: ['**/*.js'] - dest: '<%= grunt.option("assetsDir") || pkg.assets %>js' - ext: '.js' - ] + src: '<%= ASSETS_PATH %>/js/sonar.js' + dest: '<%= ASSETS_PATH %>/js/sonar.js' curl: @@ -424,11 +362,11 @@ module.exports = (grunt) -> jshint: dev: src: [ - '<%= pkg.sources %>js/**/*.js' - '!<%= pkg.sources %>js/third-party/underscore.js' - '!<%= pkg.sources %>js/third-party/**/*.js' - '!<%= pkg.sources %>js/tests/**/*.js' - '!<%= pkg.sources %>js/require.js' + '<%= SOURCE_PATH %>/js/**/*.js' + '!<%= SOURCE_PATH %>/js/third-party/underscore.js' + '!<%= SOURCE_PATH %>/js/third-party/**/*.js' + '!<%= SOURCE_PATH %>/js/tests/**/*.js' + '!<%= SOURCE_PATH %>/js/require.js' ] options: jshintrc: true @@ -439,61 +377,83 @@ module.exports = (grunt) -> spawn: false less: - files: '<%= pkg.sources %>less/**/*.less' + files: '<%= SOURCE_PATH %>/less/**/*.less' tasks: ['less:build'] coffee: - files: '<%= pkg.sources %>coffee/**/*.coffee' - tasks: ['coffee:build', 'copy:js', 'concat:dev'] + files: '<%= SOURCE_PATH %>/coffee/**/*.coffee' + tasks: ['coffee:build', 'copy:js', 'concat:build'] js: - files: '<%= pkg.sources %>js/**/*.js' - tasks: ['copy:js', 'concat:dev'] + files: '<%= SOURCE_PATH %>/js/**/*.js' + tasks: ['copy:js', 'concat:build'] handlebars: - files: '<%= pkg.sources %>hbs/**/*.hbs' + files: '<%= SOURCE_PATH %>/hbs/**/*.hbs' tasks: ['handlebars:build'] + # Basic tasks + grunt.registerTask 'prepare', + ['clean:css', 'clean:js', 'clean:build', 'parallel:compile', 'copy:js', 'concat:build'] + + grunt.registerTask 'build-fast-suffix', + ['copy:assets-css', 'copy:assets-all-js'] - # Define tasks - grunt.registerTask 'dev', - ['clean:css', 'clean:js', 'parallel:compile', 'copy:js', 'concat:dev'] + grunt.registerTask 'build-suffix', + ['copy:assets-css', 'copy:assets-js', 'parallel:build'] + + grunt.registerTask 'test-suffix', + ['express:test', 'casper:test'] + + grunt.registerTask 'coverage-suffix', + ['express:testCoverage', 'curl:resetCoverage', 'casper:testCoverage', 'curl:downloadCoverage', 'unzip', + 'replace:lcov'] + + # Output tasks + grunt.registerTask 'build-fast', + ['prepare', 'build-fast-suffix'] grunt.registerTask 'build', - ['clean:css', 'clean:js', 'parallel:compile', 'cssUrlRewrite:build', 'copy:js', - 'concat:build', 'parallel:requirejs', 'clean:js', 'copy:build', 'copy:requirejs', 'uglify_parallel:build', 'clean:build'] + ['prepare', 'build-suffix'] - grunt.registerTask 'default', - ['build'] + grunt.registerTask 'build-test', + ['prepare', 'parallel:build-test'] - grunt.registerTask 'dw', - ['dev', 'watch'] + grunt.registerTask 'build-coverage', + ['prepare', 'parallel:build-coverage'] grunt.registerTask 'test', - ['dev', 'express:test', 'casper:test'] + ['prepare', 'test-suffix'] - grunt.registerTask 'testCoverage', - ['dev', 'express:testCoverage', 'curl:resetCoverage', 'casper:testCoverage', 'curl:downloadCoverage', 'unzip', 'replace:lcov'] + grunt.registerTask 'coverage', + ['prepare', 'coverage-suffix'] + + grunt.registerTask 'default', + ['build'] + + # Development + grunt.registerTask 'dw', + ['build-fast', 'watch'] grunt.registerTask 'testCoverageLight', - ['dev', 'express:testCoverage', 'curl:resetCoverage', 'casper:testCoverageLight', 'curl:downloadCoverage', 'unzip', 'replace:lcov'] + ['prepare', 'express:testCoverage', 'curl:resetCoverage', 'casper:testCoverageLight', 'curl:downloadCoverage', 'unzip', 'replace:lcov'] grunt.registerTask 'single', - ['dev', 'express:test', 'casper:single'] + ['prepare', 'express:test', 'casper:single'] grunt.registerTask 'testfile', - ['dev', 'express:test', 'casper:testfile'] + ['prepare', 'express:test', 'casper:testfile'] # tasks used by Maven build (see pom.xml) grunt.registerTask 'maven-quick-build', - ['dev'] + ['build-fast'] grunt.registerTask 'maven-build-skip-tests-true-nocoverage', ['build'] grunt.registerTask 'maven-build-skip-tests-false-nocoverage', - ['test', 'build'] + ['build-test'] grunt.registerTask 'maven-build-skip-tests-false-coverage', - ['testCoverage', 'build'] + ['build-coverage'] diff --git a/server/sonar-web/package.json b/server/sonar-web/package.json index f77c150e436..e218bf15091 100644 --- a/server/sonar-web/package.json +++ b/server/sonar-web/package.json @@ -18,7 +18,6 @@ "grunt-contrib-requirejs": "0.4.3", "grunt-contrib-uglify": "0.4.0", "grunt-contrib-watch": "0.5.3", - "grunt-css-url-rewrite": "0.3.5", "grunt-curl": "2.1.0", "grunt-express-server": "0.4.17", "grunt-parallel": "0.4.1", @@ -29,14 +28,15 @@ "istanbul-middleware": "0.2.0", "jade": "1.4.2", "jit-grunt": "0.9.1", - "serve-static": "1.5.0" + "serve-static": "1.5.0", + "time-grunt": "1.2.0" }, "scripts": { - "build-fast": "./node_modules/.bin/grunt dev", + "build-fast": "./node_modules/.bin/grunt build-fast", "build": "./node_modules/.bin/grunt build", + "build-test": "./node_modules/.bin/grunt build-test", + "build-coverage": "./node_modules/.bin/grunt build-coverage", "test": "./node_modules/.bin/grunt test", - "coverage": "./node_modules/.bin/grunt testCoverage" - }, - "sources": "src/main/", - "assets": "src/main/webapp/" + "coverage": "./node_modules/.bin/grunt coverage" + } } diff --git a/server/sonar-web/src/main/coffee/analysis-reports/app.coffee b/server/sonar-web/src/main/coffee/apps/analysis-reports/app.coffee similarity index 91% rename from server/sonar-web/src/main/coffee/analysis-reports/app.coffee rename to server/sonar-web/src/main/coffee/apps/analysis-reports/app.coffee index 31f4f69451b..0d7c20d4bd4 100644 --- a/server/sonar-web/src/main/coffee/analysis-reports/app.coffee +++ b/server/sonar-web/src/main/coffee/apps/analysis-reports/app.coffee @@ -17,17 +17,12 @@ # along with this program; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # - -requirejs.config - baseUrl: "#{baseUrl}/js" - - -requirejs [ - 'analysis-reports/router' - 'analysis-reports/layout' - 'analysis-reports/models/reports' - 'analysis-reports/views/reports-view' - 'analysis-reports/views/actions-view' +define [ + './router' + './layout' + './models/reports' + './views/reports-view' + './views/actions-view' ], ( Router Layout diff --git a/server/sonar-web/src/main/coffee/analysis-reports/layout.coffee b/server/sonar-web/src/main/coffee/apps/analysis-reports/layout.coffee similarity index 97% rename from server/sonar-web/src/main/coffee/analysis-reports/layout.coffee rename to server/sonar-web/src/main/coffee/apps/analysis-reports/layout.coffee index 691c7278394..5aa028e86b2 100644 --- a/server/sonar-web/src/main/coffee/analysis-reports/layout.coffee +++ b/server/sonar-web/src/main/coffee/apps/analysis-reports/layout.coffee @@ -19,7 +19,7 @@ # define [ - 'templates/analysis-reports' + './templates' ], -> class extends Marionette.Layout diff --git a/server/sonar-web/src/main/coffee/analysis-reports/models/report.coffee b/server/sonar-web/src/main/coffee/apps/analysis-reports/models/report.coffee similarity index 100% rename from server/sonar-web/src/main/coffee/analysis-reports/models/report.coffee rename to server/sonar-web/src/main/coffee/apps/analysis-reports/models/report.coffee diff --git a/server/sonar-web/src/main/coffee/analysis-reports/models/reports.coffee b/server/sonar-web/src/main/coffee/apps/analysis-reports/models/reports.coffee similarity index 97% rename from server/sonar-web/src/main/coffee/analysis-reports/models/reports.coffee rename to server/sonar-web/src/main/coffee/apps/analysis-reports/models/reports.coffee index c6ec45e165c..1689eed3e65 100644 --- a/server/sonar-web/src/main/coffee/analysis-reports/models/reports.coffee +++ b/server/sonar-web/src/main/coffee/apps/analysis-reports/models/reports.coffee @@ -19,7 +19,7 @@ # define [ - 'analysis-reports/models/report' + './report' ], ( Report ) -> diff --git a/server/sonar-web/src/main/coffee/analysis-reports/router.coffee b/server/sonar-web/src/main/coffee/apps/analysis-reports/router.coffee similarity index 100% rename from server/sonar-web/src/main/coffee/analysis-reports/router.coffee rename to server/sonar-web/src/main/coffee/apps/analysis-reports/router.coffee diff --git a/server/sonar-web/src/main/hbs/analysis-reports/analysis-reports-actions.hbs b/server/sonar-web/src/main/coffee/apps/analysis-reports/templates/analysis-reports-actions.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/analysis-reports/analysis-reports-actions.hbs rename to server/sonar-web/src/main/coffee/apps/analysis-reports/templates/analysis-reports-actions.hbs diff --git a/server/sonar-web/src/main/hbs/analysis-reports/analysis-reports-empty.hbs b/server/sonar-web/src/main/coffee/apps/analysis-reports/templates/analysis-reports-empty.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/analysis-reports/analysis-reports-empty.hbs rename to server/sonar-web/src/main/coffee/apps/analysis-reports/templates/analysis-reports-empty.hbs diff --git a/server/sonar-web/src/main/hbs/analysis-reports/analysis-reports-layout.hbs b/server/sonar-web/src/main/coffee/apps/analysis-reports/templates/analysis-reports-layout.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/analysis-reports/analysis-reports-layout.hbs rename to server/sonar-web/src/main/coffee/apps/analysis-reports/templates/analysis-reports-layout.hbs diff --git a/server/sonar-web/src/main/hbs/analysis-reports/analysis-reports-report.hbs b/server/sonar-web/src/main/coffee/apps/analysis-reports/templates/analysis-reports-report.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/analysis-reports/analysis-reports-report.hbs rename to server/sonar-web/src/main/coffee/apps/analysis-reports/templates/analysis-reports-report.hbs diff --git a/server/sonar-web/src/main/coffee/analysis-reports/views/actions-view.coffee b/server/sonar-web/src/main/coffee/apps/analysis-reports/views/actions-view.coffee similarity index 98% rename from server/sonar-web/src/main/coffee/analysis-reports/views/actions-view.coffee rename to server/sonar-web/src/main/coffee/apps/analysis-reports/views/actions-view.coffee index acc49e52c5e..89ae9048c52 100644 --- a/server/sonar-web/src/main/coffee/analysis-reports/views/actions-view.coffee +++ b/server/sonar-web/src/main/coffee/apps/analysis-reports/views/actions-view.coffee @@ -19,7 +19,7 @@ # define [ - 'templates/analysis-reports' + '../templates' ], -> class extends Marionette.ItemView diff --git a/server/sonar-web/src/main/coffee/analysis-reports/views/report-view.coffee b/server/sonar-web/src/main/coffee/apps/analysis-reports/views/report-view.coffee similarity index 98% rename from server/sonar-web/src/main/coffee/analysis-reports/views/report-view.coffee rename to server/sonar-web/src/main/coffee/apps/analysis-reports/views/report-view.coffee index 81b6f8bd034..4af3d06f602 100644 --- a/server/sonar-web/src/main/coffee/analysis-reports/views/report-view.coffee +++ b/server/sonar-web/src/main/coffee/apps/analysis-reports/views/report-view.coffee @@ -19,7 +19,7 @@ # define [ - 'templates/analysis-reports' + '../templates' ], -> class extends Marionette.ItemView diff --git a/server/sonar-web/src/main/coffee/analysis-reports/views/reports-empty-view.coffee b/server/sonar-web/src/main/coffee/apps/analysis-reports/views/reports-empty-view.coffee similarity index 97% rename from server/sonar-web/src/main/coffee/analysis-reports/views/reports-empty-view.coffee rename to server/sonar-web/src/main/coffee/apps/analysis-reports/views/reports-empty-view.coffee index 9fd439d8ea1..c5c16ea59c0 100644 --- a/server/sonar-web/src/main/coffee/analysis-reports/views/reports-empty-view.coffee +++ b/server/sonar-web/src/main/coffee/apps/analysis-reports/views/reports-empty-view.coffee @@ -19,7 +19,7 @@ # define [ - 'templates/analysis-reports' + '../templates' ], -> class extends Marionette.ItemView diff --git a/server/sonar-web/src/main/coffee/analysis-reports/views/reports-view.coffee b/server/sonar-web/src/main/coffee/apps/analysis-reports/views/reports-view.coffee similarity index 95% rename from server/sonar-web/src/main/coffee/analysis-reports/views/reports-view.coffee rename to server/sonar-web/src/main/coffee/apps/analysis-reports/views/reports-view.coffee index 11b789e131f..32efc6f0707 100644 --- a/server/sonar-web/src/main/coffee/analysis-reports/views/reports-view.coffee +++ b/server/sonar-web/src/main/coffee/apps/analysis-reports/views/reports-view.coffee @@ -19,8 +19,8 @@ # define [ - 'analysis-reports/views/report-view' - 'analysis-reports/views/reports-empty-view' + './report-view' + './reports-empty-view' ], ( ReportView EmptyView diff --git a/server/sonar-web/src/main/coffee/issues/app-context.coffee b/server/sonar-web/src/main/coffee/apps/issues/app-context.coffee similarity index 91% rename from server/sonar-web/src/main/coffee/issues/app-context.coffee rename to server/sonar-web/src/main/coffee/apps/issues/app-context.coffee index 257b3bf008e..556b93e1e00 100644 --- a/server/sonar-web/src/main/coffee/issues/app-context.coffee +++ b/server/sonar-web/src/main/coffee/apps/issues/app-context.coffee @@ -17,26 +17,21 @@ # along with this program; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # - -requirejs.config - baseUrl: "#{baseUrl}/js" - - -requirejs [ - 'issues/models/state' - 'issues/layout' - 'issues/models/issues' +define [ + './models/state' + './layout' + './models/issues' 'components/navigator/models/facets' - 'issues/models/filters' + './models/filters' - 'issues/controller' - 'issues/router' + './controller' + './router' - 'issues/workspace-list-view' - 'issues/workspace-header-view' + './workspace-list-view' + './workspace-header-view' - 'issues/facets-view' - 'issues/filters-view' + './facets-view' + './filters-view' ], ( State Layout diff --git a/server/sonar-web/src/main/coffee/issues/app-new.coffee b/server/sonar-web/src/main/coffee/apps/issues/app-new.coffee similarity index 88% rename from server/sonar-web/src/main/coffee/issues/app-new.coffee rename to server/sonar-web/src/main/coffee/apps/issues/app-new.coffee index 0cb70931247..c69a48e6207 100644 --- a/server/sonar-web/src/main/coffee/issues/app-new.coffee +++ b/server/sonar-web/src/main/coffee/apps/issues/app-new.coffee @@ -17,26 +17,21 @@ # along with this program; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # - -requirejs.config - baseUrl: "#{baseUrl}/js" - - -requirejs [ - 'issues/models/state' - 'issues/layout' - 'issues/models/issues' +define [ + './models/state' + './layout' + './models/issues' 'components/navigator/models/facets' - 'issues/models/filters' + './models/filters' - 'issues/controller' - 'issues/router' + './controller' + './router' - 'issues/workspace-list-view' - 'issues/workspace-header-view' + './workspace-list-view' + './workspace-header-view' - 'issues/facets-view' - 'issues/filters-view' + './facets-view' + './filters-view' ], ( State Layout diff --git a/server/sonar-web/src/main/coffee/issues/component-viewer/issue-view.coffee b/server/sonar-web/src/main/coffee/apps/issues/component-viewer/issue-view.coffee similarity index 96% rename from server/sonar-web/src/main/coffee/issues/component-viewer/issue-view.coffee rename to server/sonar-web/src/main/coffee/apps/issues/component-viewer/issue-view.coffee index f47a5efe309..b626cff1070 100644 --- a/server/sonar-web/src/main/coffee/issues/component-viewer/issue-view.coffee +++ b/server/sonar-web/src/main/coffee/apps/issues/component-viewer/issue-view.coffee @@ -19,7 +19,7 @@ # define [ - 'issues/workspace-list-item-view' + '../workspace-list-item-view' ], ( IssueView ) -> diff --git a/server/sonar-web/src/main/coffee/issues/component-viewer/main.coffee b/server/sonar-web/src/main/coffee/apps/issues/component-viewer/main.coffee similarity index 98% rename from server/sonar-web/src/main/coffee/issues/component-viewer/main.coffee rename to server/sonar-web/src/main/coffee/apps/issues/component-viewer/main.coffee index 76288c332d7..1a23d070331 100644 --- a/server/sonar-web/src/main/coffee/issues/component-viewer/main.coffee +++ b/server/sonar-web/src/main/coffee/apps/issues/component-viewer/main.coffee @@ -19,10 +19,10 @@ # define [ - 'source-viewer/viewer' - 'issues/models/issues' - 'issues/component-viewer/issue-view' - 'templates/issues' + 'components/source-viewer/main' + '../models/issues' + './issue-view' + '../templates' ], ( SourceViewer Issues diff --git a/server/sonar-web/src/main/coffee/issues/controller.coffee b/server/sonar-web/src/main/coffee/apps/issues/controller.coffee similarity index 99% rename from server/sonar-web/src/main/coffee/issues/controller.coffee rename to server/sonar-web/src/main/coffee/apps/issues/controller.coffee index 99f39a32afe..18749e884a4 100644 --- a/server/sonar-web/src/main/coffee/issues/controller.coffee +++ b/server/sonar-web/src/main/coffee/apps/issues/controller.coffee @@ -21,8 +21,8 @@ define [ 'components/navigator/controller' - 'issues/component-viewer/main' - 'issues/workspace-home-view' + './component-viewer/main' + './workspace-home-view' ], ( Controller diff --git a/server/sonar-web/src/main/coffee/issues/facets-view.coffee b/server/sonar-web/src/main/coffee/apps/issues/facets-view.coffee similarity index 78% rename from server/sonar-web/src/main/coffee/issues/facets-view.coffee rename to server/sonar-web/src/main/coffee/apps/issues/facets-view.coffee index 7ac2c44617a..a8a17947ffd 100644 --- a/server/sonar-web/src/main/coffee/issues/facets-view.coffee +++ b/server/sonar-web/src/main/coffee/apps/issues/facets-view.coffee @@ -21,23 +21,23 @@ define [ 'components/navigator/facets-view' - 'issues/facets/base-facet' - 'issues/facets/severity-facet' - 'issues/facets/status-facet' - 'issues/facets/project-facet' - 'issues/facets/module-facet' - 'issues/facets/assignee-facet' - 'issues/facets/rule-facet' - 'issues/facets/tag-facet' - 'issues/facets/resolution-facet' - 'issues/facets/creation-date-facet' - 'issues/facets/action-plan-facet' - 'issues/facets/file-facet' - 'issues/facets/reporter-facet' - 'issues/facets/language-facet' - 'issues/facets/author-facet' - 'issues/facets/issue-key-facet' - 'issues/facets/context-facet' + './facets/base-facet' + './facets/severity-facet' + './facets/status-facet' + './facets/project-facet' + './facets/module-facet' + './facets/assignee-facet' + './facets/rule-facet' + './facets/tag-facet' + './facets/resolution-facet' + './facets/creation-date-facet' + './facets/action-plan-facet' + './facets/file-facet' + './facets/reporter-facet' + './facets/language-facet' + './facets/author-facet' + './facets/issue-key-facet' + './facets/context-facet' ], ( FacetsView diff --git a/server/sonar-web/src/main/coffee/issues/facets/action-plan-facet.coffee b/server/sonar-web/src/main/coffee/apps/issues/facets/action-plan-facet.coffee similarity index 97% rename from server/sonar-web/src/main/coffee/issues/facets/action-plan-facet.coffee rename to server/sonar-web/src/main/coffee/apps/issues/facets/action-plan-facet.coffee index 68d8afde3bc..a2a746e1007 100644 --- a/server/sonar-web/src/main/coffee/issues/facets/action-plan-facet.coffee +++ b/server/sonar-web/src/main/coffee/apps/issues/facets/action-plan-facet.coffee @@ -19,8 +19,8 @@ # define [ - 'issues/facets/base-facet' - 'templates/issues' + './base-facet' + '../templates' ], ( BaseFacet ) -> diff --git a/server/sonar-web/src/main/coffee/issues/facets/assignee-facet.coffee b/server/sonar-web/src/main/coffee/apps/issues/facets/assignee-facet.coffee similarity index 98% rename from server/sonar-web/src/main/coffee/issues/facets/assignee-facet.coffee rename to server/sonar-web/src/main/coffee/apps/issues/facets/assignee-facet.coffee index 366b13bb032..83d0a78da80 100644 --- a/server/sonar-web/src/main/coffee/issues/facets/assignee-facet.coffee +++ b/server/sonar-web/src/main/coffee/apps/issues/facets/assignee-facet.coffee @@ -19,8 +19,8 @@ # define [ - 'issues/facets/custom-values-facet' - 'templates/issues' + './custom-values-facet' + '../templates' ], ( CustomValuesFacet ) -> diff --git a/server/sonar-web/src/main/coffee/issues/facets/author-facet.coffee b/server/sonar-web/src/main/coffee/apps/issues/facets/author-facet.coffee similarity index 97% rename from server/sonar-web/src/main/coffee/issues/facets/author-facet.coffee rename to server/sonar-web/src/main/coffee/apps/issues/facets/author-facet.coffee index b593dc273cf..25e8c989749 100644 --- a/server/sonar-web/src/main/coffee/issues/facets/author-facet.coffee +++ b/server/sonar-web/src/main/coffee/apps/issues/facets/author-facet.coffee @@ -19,7 +19,7 @@ # define [ - 'issues/facets/custom-values-facet' + './custom-values-facet' ], ( CustomValuesFacet ) -> diff --git a/server/sonar-web/src/main/coffee/issues/facets/base-facet.coffee b/server/sonar-web/src/main/coffee/apps/issues/facets/base-facet.coffee similarity index 98% rename from server/sonar-web/src/main/coffee/issues/facets/base-facet.coffee rename to server/sonar-web/src/main/coffee/apps/issues/facets/base-facet.coffee index 07897f17c47..4d41996b164 100644 --- a/server/sonar-web/src/main/coffee/issues/facets/base-facet.coffee +++ b/server/sonar-web/src/main/coffee/apps/issues/facets/base-facet.coffee @@ -20,7 +20,7 @@ define [ 'components/navigator/facets/base-facet' - 'templates/issues' + '../templates' ], ( BaseFacet ) -> diff --git a/server/sonar-web/src/main/coffee/issues/facets/context-facet.coffee b/server/sonar-web/src/main/coffee/apps/issues/facets/context-facet.coffee similarity index 95% rename from server/sonar-web/src/main/coffee/issues/facets/context-facet.coffee rename to server/sonar-web/src/main/coffee/apps/issues/facets/context-facet.coffee index 962e69d3555..3809f07b856 100644 --- a/server/sonar-web/src/main/coffee/issues/facets/context-facet.coffee +++ b/server/sonar-web/src/main/coffee/apps/issues/facets/context-facet.coffee @@ -19,8 +19,8 @@ # define [ - 'issues/facets/base-facet' - 'templates/issues' + './base-facet' + '../templates' ], ( BaseFacet ) -> diff --git a/server/sonar-web/src/main/coffee/issues/facets/creation-date-facet.coffee b/server/sonar-web/src/main/coffee/apps/issues/facets/creation-date-facet.coffee similarity index 98% rename from server/sonar-web/src/main/coffee/issues/facets/creation-date-facet.coffee rename to server/sonar-web/src/main/coffee/apps/issues/facets/creation-date-facet.coffee index 0edea5385f5..c1a29019ba1 100644 --- a/server/sonar-web/src/main/coffee/issues/facets/creation-date-facet.coffee +++ b/server/sonar-web/src/main/coffee/apps/issues/facets/creation-date-facet.coffee @@ -19,8 +19,8 @@ # define [ - 'issues/facets/base-facet' - 'templates/issues' + './base-facet' + '../templates' ], ( BaseFacet ) -> diff --git a/server/sonar-web/src/main/coffee/issues/facets/custom-values-facet.coffee b/server/sonar-web/src/main/coffee/apps/issues/facets/custom-values-facet.coffee similarity index 97% rename from server/sonar-web/src/main/coffee/issues/facets/custom-values-facet.coffee rename to server/sonar-web/src/main/coffee/apps/issues/facets/custom-values-facet.coffee index 2cb99e56876..9cd45d02579 100644 --- a/server/sonar-web/src/main/coffee/issues/facets/custom-values-facet.coffee +++ b/server/sonar-web/src/main/coffee/apps/issues/facets/custom-values-facet.coffee @@ -19,8 +19,8 @@ # define [ - 'issues/facets/base-facet' - 'templates/issues' + './base-facet' + '../templates' ], ( BaseFacet ) -> diff --git a/server/sonar-web/src/main/coffee/issues/facets/file-facet.coffee b/server/sonar-web/src/main/coffee/apps/issues/facets/file-facet.coffee similarity index 96% rename from server/sonar-web/src/main/coffee/issues/facets/file-facet.coffee rename to server/sonar-web/src/main/coffee/apps/issues/facets/file-facet.coffee index 9dc7d5c94a9..62081444f4b 100644 --- a/server/sonar-web/src/main/coffee/issues/facets/file-facet.coffee +++ b/server/sonar-web/src/main/coffee/apps/issues/facets/file-facet.coffee @@ -19,8 +19,8 @@ # define [ - 'issues/facets/base-facet' - 'templates/issues' + './base-facet' + '../templates' ], ( BaseFacet ) -> diff --git a/server/sonar-web/src/main/coffee/issues/facets/issue-key-facet.coffee b/server/sonar-web/src/main/coffee/apps/issues/facets/issue-key-facet.coffee similarity index 96% rename from server/sonar-web/src/main/coffee/issues/facets/issue-key-facet.coffee rename to server/sonar-web/src/main/coffee/apps/issues/facets/issue-key-facet.coffee index 72e8c7056a9..53afcf4f441 100644 --- a/server/sonar-web/src/main/coffee/issues/facets/issue-key-facet.coffee +++ b/server/sonar-web/src/main/coffee/apps/issues/facets/issue-key-facet.coffee @@ -19,8 +19,8 @@ # define [ - 'issues/facets/base-facet' - 'templates/issues' + './base-facet' + '../templates' ], ( BaseFacet ) -> diff --git a/server/sonar-web/src/main/coffee/issues/facets/language-facet.coffee b/server/sonar-web/src/main/coffee/apps/issues/facets/language-facet.coffee similarity index 98% rename from server/sonar-web/src/main/coffee/issues/facets/language-facet.coffee rename to server/sonar-web/src/main/coffee/apps/issues/facets/language-facet.coffee index 82fcc4fc15f..3d67584dd02 100644 --- a/server/sonar-web/src/main/coffee/issues/facets/language-facet.coffee +++ b/server/sonar-web/src/main/coffee/apps/issues/facets/language-facet.coffee @@ -19,7 +19,7 @@ # define [ - 'issues/facets/custom-values-facet' + './custom-values-facet' ], ( CustomValuesFacet ) -> diff --git a/server/sonar-web/src/main/coffee/issues/facets/module-facet.coffee b/server/sonar-web/src/main/coffee/apps/issues/facets/module-facet.coffee similarity index 97% rename from server/sonar-web/src/main/coffee/issues/facets/module-facet.coffee rename to server/sonar-web/src/main/coffee/apps/issues/facets/module-facet.coffee index e4054331c9f..425f4b5c2d4 100644 --- a/server/sonar-web/src/main/coffee/issues/facets/module-facet.coffee +++ b/server/sonar-web/src/main/coffee/apps/issues/facets/module-facet.coffee @@ -19,7 +19,7 @@ # define [ - 'issues/facets/base-facet' + './base-facet' ], ( BaseFacet ) -> diff --git a/server/sonar-web/src/main/coffee/issues/facets/project-facet.coffee b/server/sonar-web/src/main/coffee/apps/issues/facets/project-facet.coffee similarity index 98% rename from server/sonar-web/src/main/coffee/issues/facets/project-facet.coffee rename to server/sonar-web/src/main/coffee/apps/issues/facets/project-facet.coffee index a0873452df4..d7ea58a1dca 100644 --- a/server/sonar-web/src/main/coffee/issues/facets/project-facet.coffee +++ b/server/sonar-web/src/main/coffee/apps/issues/facets/project-facet.coffee @@ -19,7 +19,7 @@ # define [ - 'issues/facets/custom-values-facet' + './custom-values-facet' ], ( CustomValuesFacet ) -> diff --git a/server/sonar-web/src/main/coffee/issues/facets/reporter-facet.coffee b/server/sonar-web/src/main/coffee/apps/issues/facets/reporter-facet.coffee similarity index 97% rename from server/sonar-web/src/main/coffee/issues/facets/reporter-facet.coffee rename to server/sonar-web/src/main/coffee/apps/issues/facets/reporter-facet.coffee index 2feacfc2184..e8e10a4d06f 100644 --- a/server/sonar-web/src/main/coffee/issues/facets/reporter-facet.coffee +++ b/server/sonar-web/src/main/coffee/apps/issues/facets/reporter-facet.coffee @@ -19,7 +19,7 @@ # define [ - 'issues/facets/custom-values-facet' + './custom-values-facet' ], ( CustomValuesFacet ) -> diff --git a/server/sonar-web/src/main/coffee/issues/facets/resolution-facet.coffee b/server/sonar-web/src/main/coffee/apps/issues/facets/resolution-facet.coffee similarity index 97% rename from server/sonar-web/src/main/coffee/issues/facets/resolution-facet.coffee rename to server/sonar-web/src/main/coffee/apps/issues/facets/resolution-facet.coffee index 4619e4a6186..7c7eef0bd74 100644 --- a/server/sonar-web/src/main/coffee/issues/facets/resolution-facet.coffee +++ b/server/sonar-web/src/main/coffee/apps/issues/facets/resolution-facet.coffee @@ -19,8 +19,8 @@ # define [ - 'issues/facets/base-facet' - 'templates/issues' + './base-facet' + '../templates' ], ( BaseFacet ) -> diff --git a/server/sonar-web/src/main/coffee/issues/facets/rule-facet.coffee b/server/sonar-web/src/main/coffee/apps/issues/facets/rule-facet.coffee similarity index 98% rename from server/sonar-web/src/main/coffee/issues/facets/rule-facet.coffee rename to server/sonar-web/src/main/coffee/apps/issues/facets/rule-facet.coffee index d9b203ca30b..25ea9f9dd9c 100644 --- a/server/sonar-web/src/main/coffee/issues/facets/rule-facet.coffee +++ b/server/sonar-web/src/main/coffee/apps/issues/facets/rule-facet.coffee @@ -19,7 +19,7 @@ # define [ - 'issues/facets/custom-values-facet' + './custom-values-facet' ], ( CustomValuesFacet ) -> diff --git a/server/sonar-web/src/main/coffee/issues/facets/severity-facet.coffee b/server/sonar-web/src/main/coffee/apps/issues/facets/severity-facet.coffee similarity index 95% rename from server/sonar-web/src/main/coffee/issues/facets/severity-facet.coffee rename to server/sonar-web/src/main/coffee/apps/issues/facets/severity-facet.coffee index 74b729707f8..c0639ef97a6 100644 --- a/server/sonar-web/src/main/coffee/issues/facets/severity-facet.coffee +++ b/server/sonar-web/src/main/coffee/apps/issues/facets/severity-facet.coffee @@ -19,8 +19,8 @@ # define [ - 'issues/facets/base-facet' - 'templates/issues' + './base-facet' + '../templates' ], ( BaseFacet ) -> diff --git a/server/sonar-web/src/main/coffee/issues/facets/status-facet.coffee b/server/sonar-web/src/main/coffee/apps/issues/facets/status-facet.coffee similarity index 95% rename from server/sonar-web/src/main/coffee/issues/facets/status-facet.coffee rename to server/sonar-web/src/main/coffee/apps/issues/facets/status-facet.coffee index 73c7b9ed03f..f3a0eb7a040 100644 --- a/server/sonar-web/src/main/coffee/issues/facets/status-facet.coffee +++ b/server/sonar-web/src/main/coffee/apps/issues/facets/status-facet.coffee @@ -19,8 +19,8 @@ # define [ - 'issues/facets/base-facet' - 'templates/issues' + './base-facet' + '../templates' ], ( BaseFacet ) -> diff --git a/server/sonar-web/src/main/coffee/issues/facets/tag-facet.coffee b/server/sonar-web/src/main/coffee/apps/issues/facets/tag-facet.coffee similarity index 98% rename from server/sonar-web/src/main/coffee/issues/facets/tag-facet.coffee rename to server/sonar-web/src/main/coffee/apps/issues/facets/tag-facet.coffee index 8147757d794..fb061cf96f8 100644 --- a/server/sonar-web/src/main/coffee/issues/facets/tag-facet.coffee +++ b/server/sonar-web/src/main/coffee/apps/issues/facets/tag-facet.coffee @@ -19,7 +19,7 @@ # define [ - 'issues/facets/custom-values-facet' + './custom-values-facet' ], ( CustomValuesFacet ) -> diff --git a/server/sonar-web/src/main/coffee/issues/filters-view.coffee b/server/sonar-web/src/main/coffee/apps/issues/filters-view.coffee similarity index 99% rename from server/sonar-web/src/main/coffee/issues/filters-view.coffee rename to server/sonar-web/src/main/coffee/apps/issues/filters-view.coffee index 43a8b0b7d88..71024317783 100644 --- a/server/sonar-web/src/main/coffee/issues/filters-view.coffee +++ b/server/sonar-web/src/main/coffee/apps/issues/filters-view.coffee @@ -19,7 +19,7 @@ # define [ - 'templates/issues' + './templates' ], -> $ = jQuery diff --git a/server/sonar-web/src/main/coffee/issues/issue-filter-view.coffee b/server/sonar-web/src/main/coffee/apps/issues/issue-filter-view.coffee similarity index 95% rename from server/sonar-web/src/main/coffee/issues/issue-filter-view.coffee rename to server/sonar-web/src/main/coffee/apps/issues/issue-filter-view.coffee index 3eba1223409..cb3ee4d95f7 100644 --- a/server/sonar-web/src/main/coffee/issues/issue-filter-view.coffee +++ b/server/sonar-web/src/main/coffee/apps/issues/issue-filter-view.coffee @@ -19,8 +19,8 @@ # define [ - 'issue/views/action-options-view' - 'templates/issues' + 'components/issue/views/action-options-view' + './templates' ], ( ActionOptionsView ) -> diff --git a/server/sonar-web/src/main/coffee/issues/layout.coffee b/server/sonar-web/src/main/coffee/apps/issues/layout.coffee similarity index 99% rename from server/sonar-web/src/main/coffee/issues/layout.coffee rename to server/sonar-web/src/main/coffee/apps/issues/layout.coffee index e06daa35e74..ac81d542e7c 100644 --- a/server/sonar-web/src/main/coffee/issues/layout.coffee +++ b/server/sonar-web/src/main/coffee/apps/issues/layout.coffee @@ -19,7 +19,7 @@ # define [ - 'templates/issues' + './templates' ], -> $ = jQuery diff --git a/server/sonar-web/src/main/coffee/issues/models/facet.coffee b/server/sonar-web/src/main/coffee/apps/issues/models/facet.coffee similarity index 100% rename from server/sonar-web/src/main/coffee/issues/models/facet.coffee rename to server/sonar-web/src/main/coffee/apps/issues/models/facet.coffee diff --git a/server/sonar-web/src/main/coffee/issues/models/facets.coffee b/server/sonar-web/src/main/coffee/apps/issues/models/facets.coffee similarity index 97% rename from server/sonar-web/src/main/coffee/issues/models/facets.coffee rename to server/sonar-web/src/main/coffee/apps/issues/models/facets.coffee index ca6abbf4d86..3f6a957b3d7 100644 --- a/server/sonar-web/src/main/coffee/issues/models/facets.coffee +++ b/server/sonar-web/src/main/coffee/apps/issues/models/facets.coffee @@ -19,7 +19,7 @@ # define [ - 'issues/models/facet' + './facet' ], ( Facet ) -> diff --git a/server/sonar-web/src/main/coffee/issues/models/filter.coffee b/server/sonar-web/src/main/coffee/apps/issues/models/filter.coffee similarity index 100% rename from server/sonar-web/src/main/coffee/issues/models/filter.coffee rename to server/sonar-web/src/main/coffee/apps/issues/models/filter.coffee diff --git a/server/sonar-web/src/main/coffee/issues/models/filters.coffee b/server/sonar-web/src/main/coffee/apps/issues/models/filters.coffee similarity index 97% rename from server/sonar-web/src/main/coffee/issues/models/filters.coffee rename to server/sonar-web/src/main/coffee/apps/issues/models/filters.coffee index ea49d1e4350..b002dba96a6 100644 --- a/server/sonar-web/src/main/coffee/issues/models/filters.coffee +++ b/server/sonar-web/src/main/coffee/apps/issues/models/filters.coffee @@ -19,7 +19,7 @@ # define [ - 'issues/models/filter' + './filter' ], ( Filter ) -> diff --git a/server/sonar-web/src/main/coffee/issues/models/issues.coffee b/server/sonar-web/src/main/coffee/apps/issues/models/issues.coffee similarity index 98% rename from server/sonar-web/src/main/coffee/issues/models/issues.coffee rename to server/sonar-web/src/main/coffee/apps/issues/models/issues.coffee index 1376d8327d9..08926040335 100644 --- a/server/sonar-web/src/main/coffee/issues/models/issues.coffee +++ b/server/sonar-web/src/main/coffee/apps/issues/models/issues.coffee @@ -19,7 +19,7 @@ # define [ - 'issue/models/issue' + 'components/issue/models/issue' ], ( Issue ) -> diff --git a/server/sonar-web/src/main/coffee/issues/models/state.coffee b/server/sonar-web/src/main/coffee/apps/issues/models/state.coffee similarity index 100% rename from server/sonar-web/src/main/coffee/issues/models/state.coffee rename to server/sonar-web/src/main/coffee/apps/issues/models/state.coffee diff --git a/server/sonar-web/src/main/coffee/issues/router.coffee b/server/sonar-web/src/main/coffee/apps/issues/router.coffee similarity index 100% rename from server/sonar-web/src/main/coffee/issues/router.coffee rename to server/sonar-web/src/main/coffee/apps/issues/router.coffee diff --git a/server/sonar-web/src/main/hbs/issues/_issues-filter-name.hbs b/server/sonar-web/src/main/coffee/apps/issues/templates/_issues-filter-name.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/issues/_issues-filter-name.hbs rename to server/sonar-web/src/main/coffee/apps/issues/templates/_issues-filter-name.hbs diff --git a/server/sonar-web/src/main/hbs/issues/facets/_issues-facet-header.hbs b/server/sonar-web/src/main/coffee/apps/issues/templates/facets/_issues-facet-header.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/issues/facets/_issues-facet-header.hbs rename to server/sonar-web/src/main/coffee/apps/issues/templates/facets/_issues-facet-header.hbs diff --git a/server/sonar-web/src/main/hbs/issues/facets/issues-action-plan-facet.hbs b/server/sonar-web/src/main/coffee/apps/issues/templates/facets/issues-action-plan-facet.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/issues/facets/issues-action-plan-facet.hbs rename to server/sonar-web/src/main/coffee/apps/issues/templates/facets/issues-action-plan-facet.hbs diff --git a/server/sonar-web/src/main/hbs/issues/facets/issues-assignee-facet.hbs b/server/sonar-web/src/main/coffee/apps/issues/templates/facets/issues-assignee-facet.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/issues/facets/issues-assignee-facet.hbs rename to server/sonar-web/src/main/coffee/apps/issues/templates/facets/issues-assignee-facet.hbs diff --git a/server/sonar-web/src/main/hbs/issues/facets/issues-base-facet.hbs b/server/sonar-web/src/main/coffee/apps/issues/templates/facets/issues-base-facet.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/issues/facets/issues-base-facet.hbs rename to server/sonar-web/src/main/coffee/apps/issues/templates/facets/issues-base-facet.hbs diff --git a/server/sonar-web/src/main/hbs/issues/facets/issues-context-facet.hbs b/server/sonar-web/src/main/coffee/apps/issues/templates/facets/issues-context-facet.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/issues/facets/issues-context-facet.hbs rename to server/sonar-web/src/main/coffee/apps/issues/templates/facets/issues-context-facet.hbs diff --git a/server/sonar-web/src/main/hbs/issues/facets/issues-creation-date-facet.hbs b/server/sonar-web/src/main/coffee/apps/issues/templates/facets/issues-creation-date-facet.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/issues/facets/issues-creation-date-facet.hbs rename to server/sonar-web/src/main/coffee/apps/issues/templates/facets/issues-creation-date-facet.hbs diff --git a/server/sonar-web/src/main/hbs/issues/facets/issues-custom-values-facet.hbs b/server/sonar-web/src/main/coffee/apps/issues/templates/facets/issues-custom-values-facet.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/issues/facets/issues-custom-values-facet.hbs rename to server/sonar-web/src/main/coffee/apps/issues/templates/facets/issues-custom-values-facet.hbs diff --git a/server/sonar-web/src/main/hbs/issues/facets/issues-file-facet.hbs b/server/sonar-web/src/main/coffee/apps/issues/templates/facets/issues-file-facet.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/issues/facets/issues-file-facet.hbs rename to server/sonar-web/src/main/coffee/apps/issues/templates/facets/issues-file-facet.hbs diff --git a/server/sonar-web/src/main/hbs/issues/facets/issues-issue-key-facet.hbs b/server/sonar-web/src/main/coffee/apps/issues/templates/facets/issues-issue-key-facet.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/issues/facets/issues-issue-key-facet.hbs rename to server/sonar-web/src/main/coffee/apps/issues/templates/facets/issues-issue-key-facet.hbs diff --git a/server/sonar-web/src/main/hbs/issues/facets/issues-resolution-facet.hbs b/server/sonar-web/src/main/coffee/apps/issues/templates/facets/issues-resolution-facet.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/issues/facets/issues-resolution-facet.hbs rename to server/sonar-web/src/main/coffee/apps/issues/templates/facets/issues-resolution-facet.hbs diff --git a/server/sonar-web/src/main/hbs/issues/facets/issues-severity-facet.hbs b/server/sonar-web/src/main/coffee/apps/issues/templates/facets/issues-severity-facet.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/issues/facets/issues-severity-facet.hbs rename to server/sonar-web/src/main/coffee/apps/issues/templates/facets/issues-severity-facet.hbs diff --git a/server/sonar-web/src/main/hbs/issues/facets/issues-status-facet.hbs b/server/sonar-web/src/main/coffee/apps/issues/templates/facets/issues-status-facet.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/issues/facets/issues-status-facet.hbs rename to server/sonar-web/src/main/coffee/apps/issues/templates/facets/issues-status-facet.hbs diff --git a/server/sonar-web/src/main/hbs/issues/issues-filters.hbs b/server/sonar-web/src/main/coffee/apps/issues/templates/issues-filters.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/issues/issues-filters.hbs rename to server/sonar-web/src/main/coffee/apps/issues/templates/issues-filters.hbs diff --git a/server/sonar-web/src/main/hbs/issues/issues-issue-filter-form.hbs b/server/sonar-web/src/main/coffee/apps/issues/templates/issues-issue-filter-form.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/issues/issues-issue-filter-form.hbs rename to server/sonar-web/src/main/coffee/apps/issues/templates/issues-issue-filter-form.hbs diff --git a/server/sonar-web/src/main/hbs/issues/issues-issue-filter.hbs b/server/sonar-web/src/main/coffee/apps/issues/templates/issues-issue-filter.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/issues/issues-issue-filter.hbs rename to server/sonar-web/src/main/coffee/apps/issues/templates/issues-issue-filter.hbs diff --git a/server/sonar-web/src/main/hbs/issues/issues-layout.hbs b/server/sonar-web/src/main/coffee/apps/issues/templates/issues-layout.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/issues/issues-layout.hbs rename to server/sonar-web/src/main/coffee/apps/issues/templates/issues-layout.hbs diff --git a/server/sonar-web/src/main/hbs/issues/issues-workspace-header.hbs b/server/sonar-web/src/main/coffee/apps/issues/templates/issues-workspace-header.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/issues/issues-workspace-header.hbs rename to server/sonar-web/src/main/coffee/apps/issues/templates/issues-workspace-header.hbs diff --git a/server/sonar-web/src/main/hbs/issues/issues-workspace-home.hbs b/server/sonar-web/src/main/coffee/apps/issues/templates/issues-workspace-home.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/issues/issues-workspace-home.hbs rename to server/sonar-web/src/main/coffee/apps/issues/templates/issues-workspace-home.hbs diff --git a/server/sonar-web/src/main/hbs/issues/issues-workspace-list-component.hbs b/server/sonar-web/src/main/coffee/apps/issues/templates/issues-workspace-list-component.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/issues/issues-workspace-list-component.hbs rename to server/sonar-web/src/main/coffee/apps/issues/templates/issues-workspace-list-component.hbs diff --git a/server/sonar-web/src/main/hbs/issues/issues-workspace-list.hbs b/server/sonar-web/src/main/coffee/apps/issues/templates/issues-workspace-list.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/issues/issues-workspace-list.hbs rename to server/sonar-web/src/main/coffee/apps/issues/templates/issues-workspace-list.hbs diff --git a/server/sonar-web/src/main/coffee/issues/workspace-header-view.coffee b/server/sonar-web/src/main/coffee/apps/issues/workspace-header-view.coffee similarity index 98% rename from server/sonar-web/src/main/coffee/issues/workspace-header-view.coffee rename to server/sonar-web/src/main/coffee/apps/issues/workspace-header-view.coffee index da12162df55..7672d1ac41c 100644 --- a/server/sonar-web/src/main/coffee/issues/workspace-header-view.coffee +++ b/server/sonar-web/src/main/coffee/apps/issues/workspace-header-view.coffee @@ -20,7 +20,7 @@ define [ 'components/navigator/workspace-header-view' - 'templates/issues' + './templates' ], ( WorkspaceHeaderView ) -> diff --git a/server/sonar-web/src/main/coffee/issues/workspace-home-view.coffee b/server/sonar-web/src/main/coffee/apps/issues/workspace-home-view.coffee similarity index 98% rename from server/sonar-web/src/main/coffee/issues/workspace-home-view.coffee rename to server/sonar-web/src/main/coffee/apps/issues/workspace-home-view.coffee index 75c9ed9bf93..6bf9c15fcee 100644 --- a/server/sonar-web/src/main/coffee/issues/workspace-home-view.coffee +++ b/server/sonar-web/src/main/coffee/apps/issues/workspace-home-view.coffee @@ -19,8 +19,8 @@ # define [ - 'widgets/issue-filter' - 'templates/issues' + 'widgets/issue-filter/widget' + './templates' ], (IssueFilter) -> $ = jQuery diff --git a/server/sonar-web/src/main/coffee/issues/workspace-list-empty-view.coffee b/server/sonar-web/src/main/coffee/apps/issues/workspace-list-empty-view.coffee similarity index 100% rename from server/sonar-web/src/main/coffee/issues/workspace-list-empty-view.coffee rename to server/sonar-web/src/main/coffee/apps/issues/workspace-list-empty-view.coffee diff --git a/server/sonar-web/src/main/coffee/issues/workspace-list-item-view.coffee b/server/sonar-web/src/main/coffee/apps/issues/workspace-list-item-view.coffee similarity index 97% rename from server/sonar-web/src/main/coffee/issues/workspace-list-item-view.coffee rename to server/sonar-web/src/main/coffee/apps/issues/workspace-list-item-view.coffee index 50cd234bac6..62b223fb57f 100644 --- a/server/sonar-web/src/main/coffee/issues/workspace-list-item-view.coffee +++ b/server/sonar-web/src/main/coffee/apps/issues/workspace-list-item-view.coffee @@ -19,9 +19,9 @@ # define [ - 'issue/issue-view' - 'issues/issue-filter-view' - 'templates/issues' + 'components/issue/issue-view' + './issue-filter-view' + './templates' ], ( IssueView IssueFilterView diff --git a/server/sonar-web/src/main/coffee/issues/workspace-list-view.coffee b/server/sonar-web/src/main/coffee/apps/issues/workspace-list-view.coffee similarity index 97% rename from server/sonar-web/src/main/coffee/issues/workspace-list-view.coffee rename to server/sonar-web/src/main/coffee/apps/issues/workspace-list-view.coffee index 9ae1682420c..889b03310a2 100644 --- a/server/sonar-web/src/main/coffee/issues/workspace-list-view.coffee +++ b/server/sonar-web/src/main/coffee/apps/issues/workspace-list-view.coffee @@ -20,9 +20,9 @@ define [ 'components/navigator/workspace-list-view' - 'issues/workspace-list-item-view' - 'issues/workspace-list-empty-view' - 'templates/issues' + './workspace-list-item-view' + './workspace-list-empty-view' + './templates' ], ( WorkspaceListView IssueView diff --git a/server/sonar-web/src/main/coffee/quality-gate/app.coffee b/server/sonar-web/src/main/coffee/apps/quality-gate/app.coffee similarity index 91% rename from server/sonar-web/src/main/coffee/quality-gate/app.coffee rename to server/sonar-web/src/main/coffee/apps/quality-gate/app.coffee index 38705f870b2..770d1f1e454 100644 --- a/server/sonar-web/src/main/coffee/quality-gate/app.coffee +++ b/server/sonar-web/src/main/coffee/apps/quality-gate/app.coffee @@ -17,18 +17,13 @@ # along with this program; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # - -requirejs.config - baseUrl: "#{baseUrl}/js" - - -requirejs [ - 'quality-gate/collections/quality-gates', - 'quality-gate/views/quality-gate-sidebar-list-view', - 'quality-gate/views/quality-gate-actions-view', - 'quality-gate/views/quality-gate-edit-view', - 'quality-gate/router', - 'quality-gate/layout' +define [ + './collections/quality-gates', + './views/quality-gate-sidebar-list-view', + './views/quality-gate-actions-view', + './views/quality-gate-edit-view', + './router', + './layout' ], (QualityGates, QualityGateSidebarListItemView, QualityGateActionsView, diff --git a/server/sonar-web/src/main/coffee/quality-gate/collections/conditions.coffee b/server/sonar-web/src/main/coffee/apps/quality-gate/collections/conditions.coffee similarity index 96% rename from server/sonar-web/src/main/coffee/quality-gate/collections/conditions.coffee rename to server/sonar-web/src/main/coffee/apps/quality-gate/collections/conditions.coffee index 1d0e03521d2..a3ecccc29d1 100644 --- a/server/sonar-web/src/main/coffee/quality-gate/collections/conditions.coffee +++ b/server/sonar-web/src/main/coffee/apps/quality-gate/collections/conditions.coffee @@ -19,7 +19,7 @@ # define [ - 'quality-gate/models/condition' + '../models/condition' ], ( Condition ) -> diff --git a/server/sonar-web/src/main/coffee/quality-gate/collections/quality-gates.coffee b/server/sonar-web/src/main/coffee/apps/quality-gate/collections/quality-gates.coffee similarity index 97% rename from server/sonar-web/src/main/coffee/quality-gate/collections/quality-gates.coffee rename to server/sonar-web/src/main/coffee/apps/quality-gate/collections/quality-gates.coffee index 20879e8ca58..c74a50c4a97 100644 --- a/server/sonar-web/src/main/coffee/quality-gate/collections/quality-gates.coffee +++ b/server/sonar-web/src/main/coffee/apps/quality-gate/collections/quality-gates.coffee @@ -19,7 +19,7 @@ # define [ - 'quality-gate/models/quality-gate' + '../models/quality-gate' ], ( QualityGate ) -> diff --git a/server/sonar-web/src/main/coffee/quality-gate/layout.coffee b/server/sonar-web/src/main/coffee/apps/quality-gate/layout.coffee similarity index 98% rename from server/sonar-web/src/main/coffee/quality-gate/layout.coffee rename to server/sonar-web/src/main/coffee/apps/quality-gate/layout.coffee index 879172162d2..36da66f1941 100644 --- a/server/sonar-web/src/main/coffee/quality-gate/layout.coffee +++ b/server/sonar-web/src/main/coffee/apps/quality-gate/layout.coffee @@ -19,7 +19,7 @@ # define [ - 'templates/quality-gates' + './templates' ], -> $ = jQuery diff --git a/server/sonar-web/src/main/coffee/quality-gate/models/condition.coffee b/server/sonar-web/src/main/coffee/apps/quality-gate/models/condition.coffee similarity index 100% rename from server/sonar-web/src/main/coffee/quality-gate/models/condition.coffee rename to server/sonar-web/src/main/coffee/apps/quality-gate/models/condition.coffee diff --git a/server/sonar-web/src/main/coffee/quality-gate/models/quality-gate.coffee b/server/sonar-web/src/main/coffee/apps/quality-gate/models/quality-gate.coffee similarity index 100% rename from server/sonar-web/src/main/coffee/quality-gate/models/quality-gate.coffee rename to server/sonar-web/src/main/coffee/apps/quality-gate/models/quality-gate.coffee diff --git a/server/sonar-web/src/main/coffee/quality-gate/router.coffee b/server/sonar-web/src/main/coffee/apps/quality-gate/router.coffee similarity index 92% rename from server/sonar-web/src/main/coffee/quality-gate/router.coffee rename to server/sonar-web/src/main/coffee/apps/quality-gate/router.coffee index d63a1fbc713..31fc35abe68 100644 --- a/server/sonar-web/src/main/coffee/quality-gate/router.coffee +++ b/server/sonar-web/src/main/coffee/apps/quality-gate/router.coffee @@ -19,9 +19,9 @@ # define [ - 'quality-gate/models/quality-gate', - 'quality-gate/views/quality-gate-detail-view', - 'quality-gate/views/quality-gate-detail-header-view', + './models/quality-gate', + './views/quality-gate-detail-view', + './views/quality-gate-detail-header-view', ], ( QualityGate, QualityGateDetailView, diff --git a/server/sonar-web/src/main/hbs/quality-gates/_quality-gate-intro.hbs b/server/sonar-web/src/main/coffee/apps/quality-gate/templates/_quality-gate-intro.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/quality-gates/_quality-gate-intro.hbs rename to server/sonar-web/src/main/coffee/apps/quality-gate/templates/_quality-gate-intro.hbs diff --git a/server/sonar-web/src/main/hbs/quality-gates/quality-gate-actions.hbs b/server/sonar-web/src/main/coffee/apps/quality-gate/templates/quality-gate-actions.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/quality-gates/quality-gate-actions.hbs rename to server/sonar-web/src/main/coffee/apps/quality-gate/templates/quality-gate-actions.hbs diff --git a/server/sonar-web/src/main/hbs/quality-gates/quality-gate-detail-condition.hbs b/server/sonar-web/src/main/coffee/apps/quality-gate/templates/quality-gate-detail-condition.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/quality-gates/quality-gate-detail-condition.hbs rename to server/sonar-web/src/main/coffee/apps/quality-gate/templates/quality-gate-detail-condition.hbs diff --git a/server/sonar-web/src/main/hbs/quality-gates/quality-gate-detail-conditions-empty.hbs b/server/sonar-web/src/main/coffee/apps/quality-gate/templates/quality-gate-detail-conditions-empty.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/quality-gates/quality-gate-detail-conditions-empty.hbs rename to server/sonar-web/src/main/coffee/apps/quality-gate/templates/quality-gate-detail-conditions-empty.hbs diff --git a/server/sonar-web/src/main/hbs/quality-gates/quality-gate-detail-conditions.hbs b/server/sonar-web/src/main/coffee/apps/quality-gate/templates/quality-gate-detail-conditions.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/quality-gates/quality-gate-detail-conditions.hbs rename to server/sonar-web/src/main/coffee/apps/quality-gate/templates/quality-gate-detail-conditions.hbs diff --git a/server/sonar-web/src/main/hbs/quality-gates/quality-gate-detail-header.hbs b/server/sonar-web/src/main/coffee/apps/quality-gate/templates/quality-gate-detail-header.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/quality-gates/quality-gate-detail-header.hbs rename to server/sonar-web/src/main/coffee/apps/quality-gate/templates/quality-gate-detail-header.hbs diff --git a/server/sonar-web/src/main/hbs/quality-gates/quality-gate-detail-projects.hbs b/server/sonar-web/src/main/coffee/apps/quality-gate/templates/quality-gate-detail-projects.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/quality-gates/quality-gate-detail-projects.hbs rename to server/sonar-web/src/main/coffee/apps/quality-gate/templates/quality-gate-detail-projects.hbs diff --git a/server/sonar-web/src/main/hbs/quality-gates/quality-gate-detail.hbs b/server/sonar-web/src/main/coffee/apps/quality-gate/templates/quality-gate-detail.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/quality-gates/quality-gate-detail.hbs rename to server/sonar-web/src/main/coffee/apps/quality-gate/templates/quality-gate-detail.hbs diff --git a/server/sonar-web/src/main/hbs/quality-gates/quality-gate-edit.hbs b/server/sonar-web/src/main/coffee/apps/quality-gate/templates/quality-gate-edit.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/quality-gates/quality-gate-edit.hbs rename to server/sonar-web/src/main/coffee/apps/quality-gate/templates/quality-gate-edit.hbs diff --git a/server/sonar-web/src/main/hbs/quality-gates/quality-gate-sidebar-list-empty.hbs b/server/sonar-web/src/main/coffee/apps/quality-gate/templates/quality-gate-sidebar-list-empty.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/quality-gates/quality-gate-sidebar-list-empty.hbs rename to server/sonar-web/src/main/coffee/apps/quality-gate/templates/quality-gate-sidebar-list-empty.hbs diff --git a/server/sonar-web/src/main/hbs/quality-gates/quality-gate-sidebar-list-item.hbs b/server/sonar-web/src/main/coffee/apps/quality-gate/templates/quality-gate-sidebar-list-item.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/quality-gates/quality-gate-sidebar-list-item.hbs rename to server/sonar-web/src/main/coffee/apps/quality-gate/templates/quality-gate-sidebar-list-item.hbs diff --git a/server/sonar-web/src/main/hbs/quality-gates/quality-gates-layout.hbs b/server/sonar-web/src/main/coffee/apps/quality-gate/templates/quality-gates-layout.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/quality-gates/quality-gates-layout.hbs rename to server/sonar-web/src/main/coffee/apps/quality-gate/templates/quality-gates-layout.hbs diff --git a/server/sonar-web/src/main/coffee/quality-gate/views/quality-gate-actions-view.coffee b/server/sonar-web/src/main/coffee/apps/quality-gate/views/quality-gate-actions-view.coffee similarity index 95% rename from server/sonar-web/src/main/coffee/quality-gate/views/quality-gate-actions-view.coffee rename to server/sonar-web/src/main/coffee/apps/quality-gate/views/quality-gate-actions-view.coffee index 62ca49341d3..46e5f3e6d99 100644 --- a/server/sonar-web/src/main/coffee/quality-gate/views/quality-gate-actions-view.coffee +++ b/server/sonar-web/src/main/coffee/apps/quality-gate/views/quality-gate-actions-view.coffee @@ -19,8 +19,8 @@ # define [ - 'quality-gate/models/quality-gate' - 'templates/quality-gates' + '../models/quality-gate' + '../templates' ], ( QualityGate ) -> diff --git a/server/sonar-web/src/main/coffee/quality-gate/views/quality-gate-detail-condition-view.coffee b/server/sonar-web/src/main/coffee/apps/quality-gate/views/quality-gate-detail-condition-view.coffee similarity index 99% rename from server/sonar-web/src/main/coffee/quality-gate/views/quality-gate-detail-condition-view.coffee rename to server/sonar-web/src/main/coffee/apps/quality-gate/views/quality-gate-detail-condition-view.coffee index 9b1c8e405fb..54c106126e2 100644 --- a/server/sonar-web/src/main/coffee/quality-gate/views/quality-gate-detail-condition-view.coffee +++ b/server/sonar-web/src/main/coffee/apps/quality-gate/views/quality-gate-detail-condition-view.coffee @@ -19,7 +19,7 @@ # define [ - 'templates/quality-gates' + '../templates' ], -> class QualityGateDetailConditionView extends Marionette.ItemView diff --git a/server/sonar-web/src/main/coffee/quality-gate/views/quality-gate-detail-conditions-empty-view.coffee b/server/sonar-web/src/main/coffee/apps/quality-gate/views/quality-gate-detail-conditions-empty-view.coffee similarity index 97% rename from server/sonar-web/src/main/coffee/quality-gate/views/quality-gate-detail-conditions-empty-view.coffee rename to server/sonar-web/src/main/coffee/apps/quality-gate/views/quality-gate-detail-conditions-empty-view.coffee index 015838753bc..b285ca05617 100644 --- a/server/sonar-web/src/main/coffee/quality-gate/views/quality-gate-detail-conditions-empty-view.coffee +++ b/server/sonar-web/src/main/coffee/apps/quality-gate/views/quality-gate-detail-conditions-empty-view.coffee @@ -19,7 +19,7 @@ # define [ - 'templates/quality-gates' + '../templates' ], -> class QualityGateDetailConditionsView extends Marionette.ItemView diff --git a/server/sonar-web/src/main/coffee/quality-gate/views/quality-gate-detail-conditions-view.coffee b/server/sonar-web/src/main/coffee/apps/quality-gate/views/quality-gate-detail-conditions-view.coffee similarity index 94% rename from server/sonar-web/src/main/coffee/quality-gate/views/quality-gate-detail-conditions-view.coffee rename to server/sonar-web/src/main/coffee/apps/quality-gate/views/quality-gate-detail-conditions-view.coffee index 034bd7a3cec..29843cbf32c 100644 --- a/server/sonar-web/src/main/coffee/quality-gate/views/quality-gate-detail-conditions-view.coffee +++ b/server/sonar-web/src/main/coffee/apps/quality-gate/views/quality-gate-detail-conditions-view.coffee @@ -19,10 +19,10 @@ # define [ - 'quality-gate/models/condition', - 'quality-gate/views/quality-gate-detail-condition-view', - 'quality-gate/views/quality-gate-detail-conditions-empty-view' - 'templates/quality-gates' + '../models/condition', + './quality-gate-detail-condition-view', + './quality-gate-detail-conditions-empty-view' + '../templates' ], ( Condition, QualityGateDetailConditionView, diff --git a/server/sonar-web/src/main/coffee/quality-gate/views/quality-gate-detail-header-view.coffee b/server/sonar-web/src/main/coffee/apps/quality-gate/views/quality-gate-detail-header-view.coffee similarity index 97% rename from server/sonar-web/src/main/coffee/quality-gate/views/quality-gate-detail-header-view.coffee rename to server/sonar-web/src/main/coffee/apps/quality-gate/views/quality-gate-detail-header-view.coffee index 3a9cb6b09ec..1980b9ed7c2 100644 --- a/server/sonar-web/src/main/coffee/quality-gate/views/quality-gate-detail-header-view.coffee +++ b/server/sonar-web/src/main/coffee/apps/quality-gate/views/quality-gate-detail-header-view.coffee @@ -19,8 +19,8 @@ # define [ - 'quality-gate/models/quality-gate' - 'templates/quality-gates', + '../models/quality-gate' + '../templates', ], ( QualityGate ) -> diff --git a/server/sonar-web/src/main/coffee/quality-gate/views/quality-gate-detail-projects-view.coffee b/server/sonar-web/src/main/coffee/apps/quality-gate/views/quality-gate-detail-projects-view.coffee similarity index 97% rename from server/sonar-web/src/main/coffee/quality-gate/views/quality-gate-detail-projects-view.coffee rename to server/sonar-web/src/main/coffee/apps/quality-gate/views/quality-gate-detail-projects-view.coffee index 550f29fce96..726d95ac5c9 100644 --- a/server/sonar-web/src/main/coffee/quality-gate/views/quality-gate-detail-projects-view.coffee +++ b/server/sonar-web/src/main/coffee/apps/quality-gate/views/quality-gate-detail-projects-view.coffee @@ -19,8 +19,8 @@ # define [ - 'common/select-list' - 'templates/quality-gates' + 'components/common/select-list' + '../templates' ], -> class QualityGateDetailProjectsView extends Marionette.ItemView diff --git a/server/sonar-web/src/main/coffee/quality-gate/views/quality-gate-detail-view.coffee b/server/sonar-web/src/main/coffee/apps/quality-gate/views/quality-gate-detail-view.coffee similarity index 87% rename from server/sonar-web/src/main/coffee/quality-gate/views/quality-gate-detail-view.coffee rename to server/sonar-web/src/main/coffee/apps/quality-gate/views/quality-gate-detail-view.coffee index bcdf2a84dfa..10b4b6e0ceb 100644 --- a/server/sonar-web/src/main/coffee/quality-gate/views/quality-gate-detail-view.coffee +++ b/server/sonar-web/src/main/coffee/apps/quality-gate/views/quality-gate-detail-view.coffee @@ -19,11 +19,11 @@ # define [ - 'quality-gate/collections/conditions', - 'quality-gate/views/quality-gate-detail-header-view', - 'quality-gate/views/quality-gate-detail-conditions-view', - 'quality-gate/views/quality-gate-detail-projects-view' - 'templates/quality-gates', + '../collections/conditions', + './quality-gate-detail-header-view', + './quality-gate-detail-conditions-view', + './quality-gate-detail-projects-view' + '../templates', ], ( Conditions, QualityGateDetailHeaderView, diff --git a/server/sonar-web/src/main/coffee/quality-gate/views/quality-gate-edit-view.coffee b/server/sonar-web/src/main/coffee/apps/quality-gate/views/quality-gate-edit-view.coffee similarity index 98% rename from server/sonar-web/src/main/coffee/quality-gate/views/quality-gate-edit-view.coffee rename to server/sonar-web/src/main/coffee/apps/quality-gate/views/quality-gate-edit-view.coffee index d8c06db28a5..67adfeca477 100644 --- a/server/sonar-web/src/main/coffee/quality-gate/views/quality-gate-edit-view.coffee +++ b/server/sonar-web/src/main/coffee/apps/quality-gate/views/quality-gate-edit-view.coffee @@ -19,7 +19,7 @@ # define [ - 'templates/quality-gates' + '../templates' ], -> class QualityGateEditView extends Marionette.ItemView diff --git a/server/sonar-web/src/main/coffee/quality-gate/views/quality-gate-sidebar-list-empty-view.coffee b/server/sonar-web/src/main/coffee/apps/quality-gate/views/quality-gate-sidebar-list-empty-view.coffee similarity index 97% rename from server/sonar-web/src/main/coffee/quality-gate/views/quality-gate-sidebar-list-empty-view.coffee rename to server/sonar-web/src/main/coffee/apps/quality-gate/views/quality-gate-sidebar-list-empty-view.coffee index 7a458fd337d..9ec9393dd9e 100644 --- a/server/sonar-web/src/main/coffee/quality-gate/views/quality-gate-sidebar-list-empty-view.coffee +++ b/server/sonar-web/src/main/coffee/apps/quality-gate/views/quality-gate-sidebar-list-empty-view.coffee @@ -19,7 +19,7 @@ # define [ - 'templates/quality-gates' + '../templates' ], -> class QualityGateSidebarListEmptyView extends Marionette.ItemView diff --git a/server/sonar-web/src/main/coffee/quality-gate/views/quality-gate-sidebar-list-item-view.coffee b/server/sonar-web/src/main/coffee/apps/quality-gate/views/quality-gate-sidebar-list-item-view.coffee similarity index 97% rename from server/sonar-web/src/main/coffee/quality-gate/views/quality-gate-sidebar-list-item-view.coffee rename to server/sonar-web/src/main/coffee/apps/quality-gate/views/quality-gate-sidebar-list-item-view.coffee index 1453dfad38f..3527a6c6e1a 100644 --- a/server/sonar-web/src/main/coffee/quality-gate/views/quality-gate-sidebar-list-item-view.coffee +++ b/server/sonar-web/src/main/coffee/apps/quality-gate/views/quality-gate-sidebar-list-item-view.coffee @@ -19,7 +19,7 @@ # define [ - 'templates/quality-gates' + '../templates' ], -> class QualityGateSidebarListItemView extends Marionette.ItemView diff --git a/server/sonar-web/src/main/coffee/quality-gate/views/quality-gate-sidebar-list-view.coffee b/server/sonar-web/src/main/coffee/apps/quality-gate/views/quality-gate-sidebar-list-view.coffee similarity index 91% rename from server/sonar-web/src/main/coffee/quality-gate/views/quality-gate-sidebar-list-view.coffee rename to server/sonar-web/src/main/coffee/apps/quality-gate/views/quality-gate-sidebar-list-view.coffee index bc5c67e85c1..7fd40da3121 100644 --- a/server/sonar-web/src/main/coffee/quality-gate/views/quality-gate-sidebar-list-view.coffee +++ b/server/sonar-web/src/main/coffee/apps/quality-gate/views/quality-gate-sidebar-list-view.coffee @@ -19,8 +19,8 @@ # define [ - 'quality-gate/views/quality-gate-sidebar-list-item-view', - 'quality-gate/views/quality-gate-sidebar-list-empty-view' + './quality-gate-sidebar-list-item-view', + './quality-gate-sidebar-list-empty-view' ], ( QualityGateSidebarListItemView, QualityGateSidebarListEmptyView, diff --git a/server/sonar-web/src/main/coffee/common/dialogs.coffee b/server/sonar-web/src/main/coffee/components/common/dialogs.coffee similarity index 100% rename from server/sonar-web/src/main/coffee/common/dialogs.coffee rename to server/sonar-web/src/main/coffee/components/common/dialogs.coffee diff --git a/server/sonar-web/src/main/coffee/common/inputs.coffee b/server/sonar-web/src/main/coffee/components/common/inputs.coffee similarity index 100% rename from server/sonar-web/src/main/coffee/common/inputs.coffee rename to server/sonar-web/src/main/coffee/components/common/inputs.coffee diff --git a/server/sonar-web/src/main/coffee/common/popup.coffee b/server/sonar-web/src/main/coffee/components/common/popup.coffee similarity index 100% rename from server/sonar-web/src/main/coffee/common/popup.coffee rename to server/sonar-web/src/main/coffee/components/common/popup.coffee diff --git a/server/sonar-web/src/main/coffee/issue/collections/action-plans.coffee b/server/sonar-web/src/main/coffee/components/issue/collections/action-plans.coffee similarity index 100% rename from server/sonar-web/src/main/coffee/issue/collections/action-plans.coffee rename to server/sonar-web/src/main/coffee/components/issue/collections/action-plans.coffee diff --git a/server/sonar-web/src/main/coffee/issue/collections/issues.coffee b/server/sonar-web/src/main/coffee/components/issue/collections/issues.coffee similarity index 98% rename from server/sonar-web/src/main/coffee/issue/collections/issues.coffee rename to server/sonar-web/src/main/coffee/components/issue/collections/issues.coffee index b8b4d105495..ddce4332d2e 100644 --- a/server/sonar-web/src/main/coffee/issue/collections/issues.coffee +++ b/server/sonar-web/src/main/coffee/components/issue/collections/issues.coffee @@ -19,7 +19,7 @@ # define [ - 'issue/models/issue' + '../models/issue' ], ( Issue ) -> diff --git a/server/sonar-web/src/main/coffee/issue/issue-view.coffee b/server/sonar-web/src/main/coffee/components/issue/issue-view.coffee similarity index 94% rename from server/sonar-web/src/main/coffee/issue/issue-view.coffee rename to server/sonar-web/src/main/coffee/components/issue/issue-view.coffee index bb2ea79d86b..dd8189f632d 100644 --- a/server/sonar-web/src/main/coffee/issue/issue-view.coffee +++ b/server/sonar-web/src/main/coffee/components/issue/issue-view.coffee @@ -19,24 +19,24 @@ # define [ - 'issue/models/changelog' - 'issue/views/changelog-view' + './models/changelog' + './views/changelog-view' - 'issue/collections/action-plans' + './collections/action-plans' - 'issue/views/issue-popup' + './views/issue-popup' - 'issue/views/transitions-form-view' - 'issue/views/assign-form-view' - 'issue/views/comment-form-view' - 'issue/views/plan-form-view' - 'issue/views/set-severity-form-view' - 'issue/views/more-actions-view' - 'issue/views/tags-form-view' + './views/transitions-form-view' + './views/assign-form-view' + './views/comment-form-view' + './views/plan-form-view' + './views/set-severity-form-view' + './views/more-actions-view' + './views/tags-form-view' - 'workspace/main' + 'components/workspace/main' - 'templates/issue' + './templates' ], ( ChangeLog @@ -264,7 +264,7 @@ define [ showRule: -> unless Workspace? - Workspace = require 'workspace/main' + Workspace = require 'components/workspace/main' ruleKey = @model.get 'rule' Workspace.openRule key: ruleKey diff --git a/server/sonar-web/src/main/coffee/issue/manual-issue-view.coffee b/server/sonar-web/src/main/coffee/components/issue/manual-issue-view.coffee similarity index 99% rename from server/sonar-web/src/main/coffee/issue/manual-issue-view.coffee rename to server/sonar-web/src/main/coffee/components/issue/manual-issue-view.coffee index dc29cdd2253..c0030e14c2d 100644 --- a/server/sonar-web/src/main/coffee/issue/manual-issue-view.coffee +++ b/server/sonar-web/src/main/coffee/components/issue/manual-issue-view.coffee @@ -19,7 +19,7 @@ # define [ - 'templates/issue' + './templates' ], -> $ = jQuery diff --git a/server/sonar-web/src/main/coffee/issue/models/changelog.coffee b/server/sonar-web/src/main/coffee/components/issue/models/changelog.coffee similarity index 100% rename from server/sonar-web/src/main/coffee/issue/models/changelog.coffee rename to server/sonar-web/src/main/coffee/components/issue/models/changelog.coffee diff --git a/server/sonar-web/src/main/coffee/issue/models/issue.coffee b/server/sonar-web/src/main/coffee/components/issue/models/issue.coffee similarity index 100% rename from server/sonar-web/src/main/coffee/issue/models/issue.coffee rename to server/sonar-web/src/main/coffee/components/issue/models/issue.coffee diff --git a/server/sonar-web/src/main/hbs/issue/comment-form.hbs b/server/sonar-web/src/main/coffee/components/issue/templates/comment-form.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/issue/comment-form.hbs rename to server/sonar-web/src/main/coffee/components/issue/templates/comment-form.hbs diff --git a/server/sonar-web/src/main/hbs/issue/issue-assign-form-option.hbs b/server/sonar-web/src/main/coffee/components/issue/templates/issue-assign-form-option.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/issue/issue-assign-form-option.hbs rename to server/sonar-web/src/main/coffee/components/issue/templates/issue-assign-form-option.hbs diff --git a/server/sonar-web/src/main/hbs/issue/issue-assign-form.hbs b/server/sonar-web/src/main/coffee/components/issue/templates/issue-assign-form.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/issue/issue-assign-form.hbs rename to server/sonar-web/src/main/coffee/components/issue/templates/issue-assign-form.hbs diff --git a/server/sonar-web/src/main/hbs/issue/issue-changelog.hbs b/server/sonar-web/src/main/coffee/components/issue/templates/issue-changelog.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/issue/issue-changelog.hbs rename to server/sonar-web/src/main/coffee/components/issue/templates/issue-changelog.hbs diff --git a/server/sonar-web/src/main/hbs/issue/issue-more-actions.hbs b/server/sonar-web/src/main/coffee/components/issue/templates/issue-more-actions.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/issue/issue-more-actions.hbs rename to server/sonar-web/src/main/coffee/components/issue/templates/issue-more-actions.hbs diff --git a/server/sonar-web/src/main/hbs/issue/issue-plan-form.hbs b/server/sonar-web/src/main/coffee/components/issue/templates/issue-plan-form.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/issue/issue-plan-form.hbs rename to server/sonar-web/src/main/coffee/components/issue/templates/issue-plan-form.hbs diff --git a/server/sonar-web/src/main/hbs/issue/issue-set-severity-form.hbs b/server/sonar-web/src/main/coffee/components/issue/templates/issue-set-severity-form.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/issue/issue-set-severity-form.hbs rename to server/sonar-web/src/main/coffee/components/issue/templates/issue-set-severity-form.hbs diff --git a/server/sonar-web/src/main/hbs/issue/issue-tags-form-option.hbs b/server/sonar-web/src/main/coffee/components/issue/templates/issue-tags-form-option.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/issue/issue-tags-form-option.hbs rename to server/sonar-web/src/main/coffee/components/issue/templates/issue-tags-form-option.hbs diff --git a/server/sonar-web/src/main/hbs/issue/issue-tags-form.hbs b/server/sonar-web/src/main/coffee/components/issue/templates/issue-tags-form.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/issue/issue-tags-form.hbs rename to server/sonar-web/src/main/coffee/components/issue/templates/issue-tags-form.hbs diff --git a/server/sonar-web/src/main/hbs/issue/issue-transitions-form.hbs b/server/sonar-web/src/main/coffee/components/issue/templates/issue-transitions-form.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/issue/issue-transitions-form.hbs rename to server/sonar-web/src/main/coffee/components/issue/templates/issue-transitions-form.hbs diff --git a/server/sonar-web/src/main/hbs/issue/issue.hbs b/server/sonar-web/src/main/coffee/components/issue/templates/issue.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/issue/issue.hbs rename to server/sonar-web/src/main/coffee/components/issue/templates/issue.hbs diff --git a/server/sonar-web/src/main/hbs/issue/manual-issue.hbs b/server/sonar-web/src/main/coffee/components/issue/templates/manual-issue.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/issue/manual-issue.hbs rename to server/sonar-web/src/main/coffee/components/issue/templates/manual-issue.hbs diff --git a/server/sonar-web/src/main/coffee/issue/views/action-options-view.coffee b/server/sonar-web/src/main/coffee/components/issue/views/action-options-view.coffee similarity index 99% rename from server/sonar-web/src/main/coffee/issue/views/action-options-view.coffee rename to server/sonar-web/src/main/coffee/components/issue/views/action-options-view.coffee index aea1b758d31..878d172f09f 100644 --- a/server/sonar-web/src/main/coffee/issue/views/action-options-view.coffee +++ b/server/sonar-web/src/main/coffee/components/issue/views/action-options-view.coffee @@ -19,7 +19,7 @@ # define [ - 'common/popup' + 'components/common/popup' ], ( PopupView ) -> diff --git a/server/sonar-web/src/main/coffee/issue/views/assign-form-view.coffee b/server/sonar-web/src/main/coffee/components/issue/views/assign-form-view.coffee similarity index 98% rename from server/sonar-web/src/main/coffee/issue/views/assign-form-view.coffee rename to server/sonar-web/src/main/coffee/components/issue/views/assign-form-view.coffee index b92d7a475fd..ae00ec881a3 100644 --- a/server/sonar-web/src/main/coffee/issue/views/assign-form-view.coffee +++ b/server/sonar-web/src/main/coffee/components/issue/views/assign-form-view.coffee @@ -19,8 +19,8 @@ # define [ - 'issue/views/action-options-view' - 'templates/issue' + './action-options-view' + '../templates' ], ( ActionOptionsView ) -> diff --git a/server/sonar-web/src/main/coffee/issue/views/changelog-view.coffee b/server/sonar-web/src/main/coffee/components/issue/views/changelog-view.coffee similarity index 96% rename from server/sonar-web/src/main/coffee/issue/views/changelog-view.coffee rename to server/sonar-web/src/main/coffee/components/issue/views/changelog-view.coffee index 4a543238942..34e77c9191b 100644 --- a/server/sonar-web/src/main/coffee/issue/views/changelog-view.coffee +++ b/server/sonar-web/src/main/coffee/components/issue/views/changelog-view.coffee @@ -19,8 +19,8 @@ # define [ - 'common/popup' - 'templates/issue' + 'components/common/popup' + '../templates' ], ( PopupView ) -> diff --git a/server/sonar-web/src/main/coffee/issue/views/comment-form-view.coffee b/server/sonar-web/src/main/coffee/components/issue/views/comment-form-view.coffee similarity index 98% rename from server/sonar-web/src/main/coffee/issue/views/comment-form-view.coffee rename to server/sonar-web/src/main/coffee/components/issue/views/comment-form-view.coffee index 2c3de5e1975..95fa6739d4b 100644 --- a/server/sonar-web/src/main/coffee/issue/views/comment-form-view.coffee +++ b/server/sonar-web/src/main/coffee/components/issue/views/comment-form-view.coffee @@ -19,8 +19,8 @@ # define [ - 'common/popup' - 'templates/issue' + 'components/common/popup' + '../templates' ], ( PopupView ) -> diff --git a/server/sonar-web/src/main/coffee/issue/views/issue-popup.coffee b/server/sonar-web/src/main/coffee/components/issue/views/issue-popup.coffee similarity index 97% rename from server/sonar-web/src/main/coffee/issue/views/issue-popup.coffee rename to server/sonar-web/src/main/coffee/components/issue/views/issue-popup.coffee index 8032797b2ed..fa54c06c298 100644 --- a/server/sonar-web/src/main/coffee/issue/views/issue-popup.coffee +++ b/server/sonar-web/src/main/coffee/components/issue/views/issue-popup.coffee @@ -19,7 +19,7 @@ # define [ - 'common/popup' + 'components/common/popup' ], ( Popup ) -> diff --git a/server/sonar-web/src/main/coffee/issue/views/more-actions-view.coffee b/server/sonar-web/src/main/coffee/components/issue/views/more-actions-view.coffee similarity index 96% rename from server/sonar-web/src/main/coffee/issue/views/more-actions-view.coffee rename to server/sonar-web/src/main/coffee/components/issue/views/more-actions-view.coffee index 28fab43bd04..868dbb2b9fb 100644 --- a/server/sonar-web/src/main/coffee/issue/views/more-actions-view.coffee +++ b/server/sonar-web/src/main/coffee/components/issue/views/more-actions-view.coffee @@ -19,8 +19,8 @@ # define [ - 'common/popup' - 'templates/issue' + 'components/common/popup' + '../templates' ], ( PopupView ) -> diff --git a/server/sonar-web/src/main/coffee/issue/views/plan-form-view.coffee b/server/sonar-web/src/main/coffee/components/issue/views/plan-form-view.coffee similarity index 97% rename from server/sonar-web/src/main/coffee/issue/views/plan-form-view.coffee rename to server/sonar-web/src/main/coffee/components/issue/views/plan-form-view.coffee index 47530e7d63e..bface05c07e 100644 --- a/server/sonar-web/src/main/coffee/issue/views/plan-form-view.coffee +++ b/server/sonar-web/src/main/coffee/components/issue/views/plan-form-view.coffee @@ -19,8 +19,8 @@ # define [ - 'issue/views/action-options-view' - 'templates/issue' + './action-options-view' + '../templates' ], ( ActionOptionsView ) -> diff --git a/server/sonar-web/src/main/coffee/issue/views/set-severity-form-view.coffee b/server/sonar-web/src/main/coffee/components/issue/views/set-severity-form-view.coffee similarity index 96% rename from server/sonar-web/src/main/coffee/issue/views/set-severity-form-view.coffee rename to server/sonar-web/src/main/coffee/components/issue/views/set-severity-form-view.coffee index 5f706b83212..bdd813ff449 100644 --- a/server/sonar-web/src/main/coffee/issue/views/set-severity-form-view.coffee +++ b/server/sonar-web/src/main/coffee/components/issue/views/set-severity-form-view.coffee @@ -19,8 +19,8 @@ # define [ - 'issue/views/action-options-view' - 'templates/issue' + './action-options-view' + '../templates' ], ( ActionOptionsView ) -> diff --git a/server/sonar-web/src/main/coffee/issue/views/tags-form-view.coffee b/server/sonar-web/src/main/coffee/components/issue/views/tags-form-view.coffee similarity index 98% rename from server/sonar-web/src/main/coffee/issue/views/tags-form-view.coffee rename to server/sonar-web/src/main/coffee/components/issue/views/tags-form-view.coffee index 129d028fdcb..ea08c2c54fd 100644 --- a/server/sonar-web/src/main/coffee/issue/views/tags-form-view.coffee +++ b/server/sonar-web/src/main/coffee/components/issue/views/tags-form-view.coffee @@ -19,8 +19,8 @@ # define [ - 'issue/views/action-options-view' - 'templates/issue' + './action-options-view' + '../templates' ], ( ActionOptionsView ) -> diff --git a/server/sonar-web/src/main/coffee/issue/views/transitions-form-view.coffee b/server/sonar-web/src/main/coffee/components/issue/views/transitions-form-view.coffee similarity index 96% rename from server/sonar-web/src/main/coffee/issue/views/transitions-form-view.coffee rename to server/sonar-web/src/main/coffee/components/issue/views/transitions-form-view.coffee index c6b6c086d32..cf4d47d8592 100644 --- a/server/sonar-web/src/main/coffee/issue/views/transitions-form-view.coffee +++ b/server/sonar-web/src/main/coffee/components/issue/views/transitions-form-view.coffee @@ -19,8 +19,8 @@ # define [ - 'issue/views/action-options-view' - 'templates/issue' + './action-options-view' + '../templates' ], ( ActionOptionsView ) -> diff --git a/server/sonar-web/src/main/coffee/navigator/filters/date-filter-view.coffee b/server/sonar-web/src/main/coffee/components/navigator/filters/date-filter-view.coffee similarity index 96% rename from server/sonar-web/src/main/coffee/navigator/filters/date-filter-view.coffee rename to server/sonar-web/src/main/coffee/components/navigator/filters/date-filter-view.coffee index 0433ab0853c..afc0b4f8cdb 100644 --- a/server/sonar-web/src/main/coffee/navigator/filters/date-filter-view.coffee +++ b/server/sonar-web/src/main/coffee/components/navigator/filters/date-filter-view.coffee @@ -19,7 +19,7 @@ # define [ - 'navigator/filters/string-filters' + './string-filters' ], ( StringFilterView ) -> diff --git a/server/sonar-web/src/main/coffee/widgets/base.coffee b/server/sonar-web/src/main/coffee/libs/widgets/base.coffee similarity index 100% rename from server/sonar-web/src/main/coffee/widgets/base.coffee rename to server/sonar-web/src/main/coffee/libs/widgets/base.coffee diff --git a/server/sonar-web/src/main/coffee/widgets/histogram.coffee b/server/sonar-web/src/main/coffee/libs/widgets/histogram.coffee similarity index 100% rename from server/sonar-web/src/main/coffee/widgets/histogram.coffee rename to server/sonar-web/src/main/coffee/libs/widgets/histogram.coffee diff --git a/server/sonar-web/src/main/coffee/widgets/tag-cloud.coffee b/server/sonar-web/src/main/coffee/libs/widgets/tag-cloud.coffee similarity index 100% rename from server/sonar-web/src/main/coffee/widgets/tag-cloud.coffee rename to server/sonar-web/src/main/coffee/libs/widgets/tag-cloud.coffee diff --git a/server/sonar-web/src/main/coffee/widgets/treemap.coffee b/server/sonar-web/src/main/coffee/libs/widgets/treemap.coffee similarity index 100% rename from server/sonar-web/src/main/coffee/widgets/treemap.coffee rename to server/sonar-web/src/main/coffee/libs/widgets/treemap.coffee diff --git a/server/sonar-web/src/main/coffee/widgets/word-cloud.coffee b/server/sonar-web/src/main/coffee/libs/widgets/word-cloud.coffee similarity index 100% rename from server/sonar-web/src/main/coffee/widgets/word-cloud.coffee rename to server/sonar-web/src/main/coffee/libs/widgets/word-cloud.coffee diff --git a/server/sonar-web/src/main/js/api-documentation/action-view.js b/server/sonar-web/src/main/js/apps/api-documentation/action-view.js similarity index 98% rename from server/sonar-web/src/main/js/api-documentation/action-view.js rename to server/sonar-web/src/main/js/apps/api-documentation/action-view.js index fd972e14613..6df5db30ee5 100644 --- a/server/sonar-web/src/main/js/api-documentation/action-view.js +++ b/server/sonar-web/src/main/js/apps/api-documentation/action-view.js @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'templates/api-documentation' + './templates' ], function () { var $ = jQuery; diff --git a/server/sonar-web/src/main/js/api-documentation/actions-view.js b/server/sonar-web/src/main/js/apps/api-documentation/actions-view.js similarity index 98% rename from server/sonar-web/src/main/js/api-documentation/actions-view.js rename to server/sonar-web/src/main/js/apps/api-documentation/actions-view.js index 04d9cbccb76..099e1ea73d0 100644 --- a/server/sonar-web/src/main/js/api-documentation/actions-view.js +++ b/server/sonar-web/src/main/js/apps/api-documentation/actions-view.js @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'api-documentation/action-view' + './action-view' ], function (ActionView) { var $ = jQuery; diff --git a/server/sonar-web/src/main/js/api-documentation/app.js b/server/sonar-web/src/main/js/apps/api-documentation/app.js similarity index 92% rename from server/sonar-web/src/main/js/api-documentation/app.js rename to server/sonar-web/src/main/js/apps/api-documentation/app.js index 31f3e60f368..3e706bcc05f 100644 --- a/server/sonar-web/src/main/js/api-documentation/app.js +++ b/server/sonar-web/src/main/js/apps/api-documentation/app.js @@ -18,12 +18,12 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'api-documentation/router', - 'api-documentation/controller', - 'api-documentation/layout', - 'api-documentation/list', - 'api-documentation/list-view', - 'api-documentation/filters-view' + './router', + './controller', + './layout', + './list', + './list-view', + './filters-view' ], function (Router, Controller, Layout, List, ListView, FiltersView) { var $ = jQuery, diff --git a/server/sonar-web/src/main/js/api-documentation/controller.js b/server/sonar-web/src/main/js/apps/api-documentation/controller.js similarity index 97% rename from server/sonar-web/src/main/js/api-documentation/controller.js rename to server/sonar-web/src/main/js/apps/api-documentation/controller.js index 3c3aba8c43c..69ae9413bac 100644 --- a/server/sonar-web/src/main/js/api-documentation/controller.js +++ b/server/sonar-web/src/main/js/apps/api-documentation/controller.js @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'api-documentation/actions-view', - 'api-documentation/header-view' + './actions-view', + './header-view' ], function (ActionsView, HeaderView) { return Marionette.Controller.extend({ diff --git a/server/sonar-web/src/main/js/api-documentation/filters-view.js b/server/sonar-web/src/main/js/apps/api-documentation/filters-view.js similarity index 97% rename from server/sonar-web/src/main/js/api-documentation/filters-view.js rename to server/sonar-web/src/main/js/apps/api-documentation/filters-view.js index 9c824dfd62b..8465cfe9db3 100644 --- a/server/sonar-web/src/main/js/api-documentation/filters-view.js +++ b/server/sonar-web/src/main/js/apps/api-documentation/filters-view.js @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'templates/api-documentation' + './templates' ], function () { return Marionette.ItemView.extend({ diff --git a/server/sonar-web/src/main/js/api-documentation/header-view.js b/server/sonar-web/src/main/js/apps/api-documentation/header-view.js similarity index 97% rename from server/sonar-web/src/main/js/api-documentation/header-view.js rename to server/sonar-web/src/main/js/apps/api-documentation/header-view.js index 17593155f8d..259fffae1c6 100644 --- a/server/sonar-web/src/main/js/api-documentation/header-view.js +++ b/server/sonar-web/src/main/js/apps/api-documentation/header-view.js @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'templates/api-documentation' + './templates' ], function () { return Marionette.ItemView.extend({ diff --git a/server/sonar-web/src/main/js/api-documentation/item-view.js b/server/sonar-web/src/main/js/apps/api-documentation/item-view.js similarity index 98% rename from server/sonar-web/src/main/js/api-documentation/item-view.js rename to server/sonar-web/src/main/js/apps/api-documentation/item-view.js index e930b060d37..2c88eb9e13f 100644 --- a/server/sonar-web/src/main/js/api-documentation/item-view.js +++ b/server/sonar-web/src/main/js/apps/api-documentation/item-view.js @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'templates/api-documentation' + './templates' ], function () { return Marionette.ItemView.extend({ diff --git a/server/sonar-web/src/main/js/api-documentation/layout.js b/server/sonar-web/src/main/js/apps/api-documentation/layout.js similarity index 98% rename from server/sonar-web/src/main/js/api-documentation/layout.js rename to server/sonar-web/src/main/js/apps/api-documentation/layout.js index b80e5aca0a2..64f17b220ed 100644 --- a/server/sonar-web/src/main/js/api-documentation/layout.js +++ b/server/sonar-web/src/main/js/apps/api-documentation/layout.js @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'templates/api-documentation' + './templates' ], function () { var $ = jQuery; diff --git a/server/sonar-web/src/main/js/api-documentation/list-view.js b/server/sonar-web/src/main/js/apps/api-documentation/list-view.js similarity index 97% rename from server/sonar-web/src/main/js/api-documentation/list-view.js rename to server/sonar-web/src/main/js/apps/api-documentation/list-view.js index 20d0e0b80e6..a833cf7b48b 100644 --- a/server/sonar-web/src/main/js/api-documentation/list-view.js +++ b/server/sonar-web/src/main/js/apps/api-documentation/list-view.js @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'api-documentation/item-view' + './item-view' ], function (ItemView) { return Marionette.CollectionView.extend({ diff --git a/server/sonar-web/src/main/js/api-documentation/list.js b/server/sonar-web/src/main/js/apps/api-documentation/list.js similarity index 100% rename from server/sonar-web/src/main/js/api-documentation/list.js rename to server/sonar-web/src/main/js/apps/api-documentation/list.js diff --git a/server/sonar-web/src/main/js/api-documentation/router.js b/server/sonar-web/src/main/js/apps/api-documentation/router.js similarity index 100% rename from server/sonar-web/src/main/js/api-documentation/router.js rename to server/sonar-web/src/main/js/apps/api-documentation/router.js diff --git a/server/sonar-web/src/main/hbs/api-documentation/api-documentation-action.hbs b/server/sonar-web/src/main/js/apps/api-documentation/templates/api-documentation-action.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/api-documentation/api-documentation-action.hbs rename to server/sonar-web/src/main/js/apps/api-documentation/templates/api-documentation-action.hbs diff --git a/server/sonar-web/src/main/hbs/api-documentation/api-documentation-filters.hbs b/server/sonar-web/src/main/js/apps/api-documentation/templates/api-documentation-filters.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/api-documentation/api-documentation-filters.hbs rename to server/sonar-web/src/main/js/apps/api-documentation/templates/api-documentation-filters.hbs diff --git a/server/sonar-web/src/main/hbs/api-documentation/api-documentation-header.hbs b/server/sonar-web/src/main/js/apps/api-documentation/templates/api-documentation-header.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/api-documentation/api-documentation-header.hbs rename to server/sonar-web/src/main/js/apps/api-documentation/templates/api-documentation-header.hbs diff --git a/server/sonar-web/src/main/hbs/api-documentation/api-documentation-layout.hbs b/server/sonar-web/src/main/js/apps/api-documentation/templates/api-documentation-layout.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/api-documentation/api-documentation-layout.hbs rename to server/sonar-web/src/main/js/apps/api-documentation/templates/api-documentation-layout.hbs diff --git a/server/sonar-web/src/main/hbs/api-documentation/api-documentation-web-service.hbs b/server/sonar-web/src/main/js/apps/api-documentation/templates/api-documentation-web-service.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/api-documentation/api-documentation-web-service.hbs rename to server/sonar-web/src/main/js/apps/api-documentation/templates/api-documentation-web-service.hbs diff --git a/server/sonar-web/src/main/js/coding-rules/app.js b/server/sonar-web/src/main/js/apps/coding-rules/app.js similarity index 92% rename from server/sonar-web/src/main/js/coding-rules/app.js rename to server/sonar-web/src/main/js/apps/coding-rules/app.js index 7c177183148..c07d7513591 100644 --- a/server/sonar-web/src/main/js/coding-rules/app.js +++ b/server/sonar-web/src/main/js/apps/coding-rules/app.js @@ -17,25 +17,20 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -requirejs.config({ - baseUrl: baseUrl + '/js' -}); - - -requirejs([ - 'coding-rules/models/state', - 'coding-rules/layout', - 'coding-rules/models/rules', +define([ + './models/state', + './layout', + './models/rules', 'components/navigator/models/facets', - 'coding-rules/controller', + './controller', 'components/navigator/router', - 'coding-rules/workspace-list-view', - 'coding-rules//workspace-header-view', + './workspace-list-view', + './workspace-header-view', - 'coding-rules/facets-view', - 'coding-rules/filters-view' + './facets-view', + './filters-view' ], function (State, Layout, diff --git a/server/sonar-web/src/main/js/coding-rules/bulk-change-modal-view.js b/server/sonar-web/src/main/js/apps/coding-rules/bulk-change-modal-view.js similarity index 98% rename from server/sonar-web/src/main/js/coding-rules/bulk-change-modal-view.js rename to server/sonar-web/src/main/js/apps/coding-rules/bulk-change-modal-view.js index 66db628e647..bdd2cbb5f34 100644 --- a/server/sonar-web/src/main/js/coding-rules/bulk-change-modal-view.js +++ b/server/sonar-web/src/main/js/apps/coding-rules/bulk-change-modal-view.js @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'common/modal-form', - 'templates/coding-rules' + 'components/common/modal-form', + './templates' ], function (ModalFormView) { var $ = jQuery; diff --git a/server/sonar-web/src/main/js/coding-rules/bulk-change-popup-view.js b/server/sonar-web/src/main/js/apps/coding-rules/bulk-change-popup-view.js similarity index 95% rename from server/sonar-web/src/main/js/coding-rules/bulk-change-popup-view.js rename to server/sonar-web/src/main/js/apps/coding-rules/bulk-change-popup-view.js index b429cacfc8c..be418ea4540 100644 --- a/server/sonar-web/src/main/js/coding-rules/bulk-change-popup-view.js +++ b/server/sonar-web/src/main/js/apps/coding-rules/bulk-change-popup-view.js @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'common/popup', - 'coding-rules/bulk-change-modal-view', - 'templates/coding-rules' + 'components/common/popup', + './bulk-change-modal-view', + './templates' ], function (PopupView, BulkChangeModalView) { var $ = jQuery; diff --git a/server/sonar-web/src/main/js/coding-rules/controller.js b/server/sonar-web/src/main/js/apps/coding-rules/controller.js similarity index 98% rename from server/sonar-web/src/main/js/coding-rules/controller.js rename to server/sonar-web/src/main/js/apps/coding-rules/controller.js index 8d37ad5a043..5ee32475e99 100644 --- a/server/sonar-web/src/main/js/coding-rules/controller.js +++ b/server/sonar-web/src/main/js/apps/coding-rules/controller.js @@ -19,8 +19,8 @@ */ define([ 'components/navigator/controller', - 'coding-rules/models/rule', - 'coding-rules/rule-details-view' + './models/rule', + './rule-details-view' ], function (Controller, Rule, RuleDetailsView) { var $ = jQuery; diff --git a/server/sonar-web/src/main/js/coding-rules/facets-view.js b/server/sonar-web/src/main/js/apps/coding-rules/facets-view.js similarity index 76% rename from server/sonar-web/src/main/js/coding-rules/facets-view.js rename to server/sonar-web/src/main/js/apps/coding-rules/facets-view.js index 5e7a3c083bc..b9c2a7f4921 100644 --- a/server/sonar-web/src/main/js/coding-rules/facets-view.js +++ b/server/sonar-web/src/main/js/apps/coding-rules/facets-view.js @@ -19,20 +19,20 @@ */ define([ 'components/navigator/facets-view', - 'coding-rules/facets/base-facet', - 'coding-rules/facets/query-facet', - 'coding-rules/facets/key-facet', - 'coding-rules/facets/language-facet', - 'coding-rules/facets/repository-facet', - 'coding-rules/facets/tag-facet', - 'coding-rules/facets/quality-profile-facet', - 'coding-rules/facets/characteristic-facet', - 'coding-rules/facets/severity-facet', - 'coding-rules/facets/status-facet', - 'coding-rules/facets/available-since-facet', - 'coding-rules/facets/inheritance-facet', - 'coding-rules/facets/active-severity-facet', - 'coding-rules/facets/template-facet' + './facets/base-facet', + './facets/query-facet', + './facets/key-facet', + './facets/language-facet', + './facets/repository-facet', + './facets/tag-facet', + './facets/quality-profile-facet', + './facets/characteristic-facet', + './facets/severity-facet', + './facets/status-facet', + './facets/available-since-facet', + './facets/inheritance-facet', + './facets/active-severity-facet', + './facets/template-facet' ], function (FacetsView, BaseFacet, diff --git a/server/sonar-web/src/main/js/coding-rules/facets/active-severity-facet.js b/server/sonar-web/src/main/js/apps/coding-rules/facets/active-severity-facet.js similarity index 97% rename from server/sonar-web/src/main/js/coding-rules/facets/active-severity-facet.js rename to server/sonar-web/src/main/js/apps/coding-rules/facets/active-severity-facet.js index fbec233e5f1..6695943968d 100644 --- a/server/sonar-web/src/main/js/coding-rules/facets/active-severity-facet.js +++ b/server/sonar-web/src/main/js/apps/coding-rules/facets/active-severity-facet.js @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'coding-rules/facets/base-facet', - 'templates/coding-rules' + './base-facet', + '../templates' ], function (BaseFacet) { return BaseFacet.extend({ diff --git a/server/sonar-web/src/main/js/coding-rules/facets/available-since-facet.js b/server/sonar-web/src/main/js/apps/coding-rules/facets/available-since-facet.js similarity index 96% rename from server/sonar-web/src/main/js/coding-rules/facets/available-since-facet.js rename to server/sonar-web/src/main/js/apps/coding-rules/facets/available-since-facet.js index 0eb3f40495f..b67e07d205b 100644 --- a/server/sonar-web/src/main/js/coding-rules/facets/available-since-facet.js +++ b/server/sonar-web/src/main/js/apps/coding-rules/facets/available-since-facet.js @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'coding-rules/facets/base-facet', - 'templates/coding-rules' + './base-facet', + '../templates' ], function (BaseFacet) { return BaseFacet.extend({ diff --git a/server/sonar-web/src/main/js/coding-rules/facets/base-facet.js b/server/sonar-web/src/main/js/apps/coding-rules/facets/base-facet.js similarity index 97% rename from server/sonar-web/src/main/js/coding-rules/facets/base-facet.js rename to server/sonar-web/src/main/js/apps/coding-rules/facets/base-facet.js index ff8d07d33e3..04da173a760 100644 --- a/server/sonar-web/src/main/js/coding-rules/facets/base-facet.js +++ b/server/sonar-web/src/main/js/apps/coding-rules/facets/base-facet.js @@ -19,7 +19,7 @@ */ define([ 'components/navigator/facets/base-facet', - 'templates/coding-rules' + '../templates' ], function (BaseFacet) { return BaseFacet.extend({ diff --git a/server/sonar-web/src/main/js/coding-rules/facets/characteristic-facet.js b/server/sonar-web/src/main/js/apps/coding-rules/facets/characteristic-facet.js similarity index 97% rename from server/sonar-web/src/main/js/coding-rules/facets/characteristic-facet.js rename to server/sonar-web/src/main/js/apps/coding-rules/facets/characteristic-facet.js index c7485ba0572..7cd9d884257 100644 --- a/server/sonar-web/src/main/js/coding-rules/facets/characteristic-facet.js +++ b/server/sonar-web/src/main/js/apps/coding-rules/facets/characteristic-facet.js @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'coding-rules/facets/base-facet', - 'templates/coding-rules' + './base-facet', + '../templates' ], function (BaseFacet) { var $ = jQuery; diff --git a/server/sonar-web/src/main/js/coding-rules/facets/custom-labels-facet.js b/server/sonar-web/src/main/js/apps/coding-rules/facets/custom-labels-facet.js similarity index 97% rename from server/sonar-web/src/main/js/coding-rules/facets/custom-labels-facet.js rename to server/sonar-web/src/main/js/apps/coding-rules/facets/custom-labels-facet.js index c86b9ac6bf3..da7d1949a18 100644 --- a/server/sonar-web/src/main/js/coding-rules/facets/custom-labels-facet.js +++ b/server/sonar-web/src/main/js/apps/coding-rules/facets/custom-labels-facet.js @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'coding-rules/facets/base-facet' + './base-facet' ], function (BaseFacet) { return BaseFacet.extend({ diff --git a/server/sonar-web/src/main/js/coding-rules/facets/custom-values-facet.js b/server/sonar-web/src/main/js/apps/coding-rules/facets/custom-values-facet.js similarity index 97% rename from server/sonar-web/src/main/js/coding-rules/facets/custom-values-facet.js rename to server/sonar-web/src/main/js/apps/coding-rules/facets/custom-values-facet.js index c277cb7a25c..7aad57ad48c 100644 --- a/server/sonar-web/src/main/js/coding-rules/facets/custom-values-facet.js +++ b/server/sonar-web/src/main/js/apps/coding-rules/facets/custom-values-facet.js @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'coding-rules/facets/base-facet', - 'templates/coding-rules' + './base-facet', + '../templates' ], function (BaseFacet) { return BaseFacet.extend({ diff --git a/server/sonar-web/src/main/js/coding-rules/facets/inheritance-facet.js b/server/sonar-web/src/main/js/apps/coding-rules/facets/inheritance-facet.js similarity index 98% rename from server/sonar-web/src/main/js/coding-rules/facets/inheritance-facet.js rename to server/sonar-web/src/main/js/apps/coding-rules/facets/inheritance-facet.js index 6e4accbaf96..36f56294967 100644 --- a/server/sonar-web/src/main/js/coding-rules/facets/inheritance-facet.js +++ b/server/sonar-web/src/main/js/apps/coding-rules/facets/inheritance-facet.js @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'coding-rules/facets/base-facet' + './base-facet' ], function (BaseFacet) { var $ = jQuery; diff --git a/server/sonar-web/src/main/js/coding-rules/facets/key-facet.js b/server/sonar-web/src/main/js/apps/coding-rules/facets/key-facet.js similarity index 95% rename from server/sonar-web/src/main/js/coding-rules/facets/key-facet.js rename to server/sonar-web/src/main/js/apps/coding-rules/facets/key-facet.js index 305ceab83ad..07542add062 100644 --- a/server/sonar-web/src/main/js/coding-rules/facets/key-facet.js +++ b/server/sonar-web/src/main/js/apps/coding-rules/facets/key-facet.js @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'coding-rules/facets/base-facet', - 'templates/coding-rules' + './base-facet', + '../templates' ], function (BaseFacet) { return BaseFacet.extend({ diff --git a/server/sonar-web/src/main/js/coding-rules/facets/language-facet.js b/server/sonar-web/src/main/js/apps/coding-rules/facets/language-facet.js similarity index 97% rename from server/sonar-web/src/main/js/coding-rules/facets/language-facet.js rename to server/sonar-web/src/main/js/apps/coding-rules/facets/language-facet.js index ae2bcfed3f2..478c589032c 100644 --- a/server/sonar-web/src/main/js/coding-rules/facets/language-facet.js +++ b/server/sonar-web/src/main/js/apps/coding-rules/facets/language-facet.js @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'coding-rules/facets/custom-values-facet' + './custom-values-facet' ], function (CustomValuesFacet) { return CustomValuesFacet.extend({ diff --git a/server/sonar-web/src/main/js/coding-rules/facets/quality-profile-facet.js b/server/sonar-web/src/main/js/apps/coding-rules/facets/quality-profile-facet.js similarity index 98% rename from server/sonar-web/src/main/js/coding-rules/facets/quality-profile-facet.js rename to server/sonar-web/src/main/js/apps/coding-rules/facets/quality-profile-facet.js index 8175fcb2036..b7af11147e4 100644 --- a/server/sonar-web/src/main/js/coding-rules/facets/quality-profile-facet.js +++ b/server/sonar-web/src/main/js/apps/coding-rules/facets/quality-profile-facet.js @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'coding-rules/facets/base-facet', - 'templates/coding-rules' + './base-facet', + '../templates' ], function (BaseFacet) { var $ = jQuery; diff --git a/server/sonar-web/src/main/js/coding-rules/facets/query-facet.js b/server/sonar-web/src/main/js/apps/coding-rules/facets/query-facet.js similarity index 96% rename from server/sonar-web/src/main/js/coding-rules/facets/query-facet.js rename to server/sonar-web/src/main/js/apps/coding-rules/facets/query-facet.js index a5a6c3f1d50..03431cd76cd 100644 --- a/server/sonar-web/src/main/js/coding-rules/facets/query-facet.js +++ b/server/sonar-web/src/main/js/apps/coding-rules/facets/query-facet.js @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'coding-rules/facets/base-facet', - 'templates/coding-rules' + './base-facet', + '../templates' ], function (BaseFacet) { return BaseFacet.extend({ diff --git a/server/sonar-web/src/main/js/coding-rules/facets/repository-facet.js b/server/sonar-web/src/main/js/apps/coding-rules/facets/repository-facet.js similarity index 98% rename from server/sonar-web/src/main/js/coding-rules/facets/repository-facet.js rename to server/sonar-web/src/main/js/apps/coding-rules/facets/repository-facet.js index a92d0b6fd53..08283dc5b18 100644 --- a/server/sonar-web/src/main/js/coding-rules/facets/repository-facet.js +++ b/server/sonar-web/src/main/js/apps/coding-rules/facets/repository-facet.js @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'coding-rules/facets/custom-values-facet' + './custom-values-facet' ], function (CustomValuesFacet) { return CustomValuesFacet.extend({ diff --git a/server/sonar-web/src/main/js/coding-rules/facets/severity-facet.js b/server/sonar-web/src/main/js/apps/coding-rules/facets/severity-facet.js similarity index 94% rename from server/sonar-web/src/main/js/coding-rules/facets/severity-facet.js rename to server/sonar-web/src/main/js/apps/coding-rules/facets/severity-facet.js index 4ac07e6ba0c..54f71f86691 100644 --- a/server/sonar-web/src/main/js/coding-rules/facets/severity-facet.js +++ b/server/sonar-web/src/main/js/apps/coding-rules/facets/severity-facet.js @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'coding-rules/facets/base-facet', - 'templates/coding-rules' + './base-facet', + '../templates' ], function (BaseFacet) { return BaseFacet.extend({ diff --git a/server/sonar-web/src/main/js/coding-rules/facets/status-facet.js b/server/sonar-web/src/main/js/apps/coding-rules/facets/status-facet.js similarity index 97% rename from server/sonar-web/src/main/js/coding-rules/facets/status-facet.js rename to server/sonar-web/src/main/js/apps/coding-rules/facets/status-facet.js index 13e8ac2a7d3..96854e47564 100644 --- a/server/sonar-web/src/main/js/coding-rules/facets/status-facet.js +++ b/server/sonar-web/src/main/js/apps/coding-rules/facets/status-facet.js @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'coding-rules/facets/base-facet' + './base-facet' ], function (BaseFacet) { return BaseFacet.extend({ diff --git a/server/sonar-web/src/main/js/coding-rules/facets/tag-facet.js b/server/sonar-web/src/main/js/apps/coding-rules/facets/tag-facet.js similarity index 97% rename from server/sonar-web/src/main/js/coding-rules/facets/tag-facet.js rename to server/sonar-web/src/main/js/apps/coding-rules/facets/tag-facet.js index a3e100a8465..9a5b0f21570 100644 --- a/server/sonar-web/src/main/js/coding-rules/facets/tag-facet.js +++ b/server/sonar-web/src/main/js/apps/coding-rules/facets/tag-facet.js @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'coding-rules/facets/custom-values-facet' + './custom-values-facet' ], function (CustomValuesFacet) { return CustomValuesFacet.extend({ diff --git a/server/sonar-web/src/main/js/coding-rules/facets/template-facet.js b/server/sonar-web/src/main/js/apps/coding-rules/facets/template-facet.js similarity index 96% rename from server/sonar-web/src/main/js/coding-rules/facets/template-facet.js rename to server/sonar-web/src/main/js/apps/coding-rules/facets/template-facet.js index 9eb0fb5dafe..118913333d2 100644 --- a/server/sonar-web/src/main/js/coding-rules/facets/template-facet.js +++ b/server/sonar-web/src/main/js/apps/coding-rules/facets/template-facet.js @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'coding-rules/facets/base-facet', - 'templates/coding-rules' + './base-facet', + '../templates' ], function (BaseFacet) { var $ = jQuery; diff --git a/server/sonar-web/src/main/js/coding-rules/filters-view.js b/server/sonar-web/src/main/js/apps/coding-rules/filters-view.js similarity index 97% rename from server/sonar-web/src/main/js/coding-rules/filters-view.js rename to server/sonar-web/src/main/js/apps/coding-rules/filters-view.js index 5b888444bc9..835119e9a66 100644 --- a/server/sonar-web/src/main/js/coding-rules/filters-view.js +++ b/server/sonar-web/src/main/js/apps/coding-rules/filters-view.js @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'templates/coding-rules' + './templates' ], function () { return Marionette.ItemView.extend({ diff --git a/server/sonar-web/src/main/js/coding-rules/layout.js b/server/sonar-web/src/main/js/apps/coding-rules/layout.js similarity index 98% rename from server/sonar-web/src/main/js/coding-rules/layout.js rename to server/sonar-web/src/main/js/apps/coding-rules/layout.js index c7430fff3b8..87ec56e9694 100644 --- a/server/sonar-web/src/main/js/coding-rules/layout.js +++ b/server/sonar-web/src/main/js/apps/coding-rules/layout.js @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'templates/coding-rules' + './templates' ], function () { var $ = jQuery; diff --git a/server/sonar-web/src/main/js/coding-rules/models/rule.js b/server/sonar-web/src/main/js/apps/coding-rules/models/rule.js similarity index 100% rename from server/sonar-web/src/main/js/coding-rules/models/rule.js rename to server/sonar-web/src/main/js/apps/coding-rules/models/rule.js diff --git a/server/sonar-web/src/main/js/coding-rules/models/rules.js b/server/sonar-web/src/main/js/apps/coding-rules/models/rules.js similarity index 98% rename from server/sonar-web/src/main/js/coding-rules/models/rules.js rename to server/sonar-web/src/main/js/apps/coding-rules/models/rules.js index c1c2f6e56d7..f1f83bcf1bd 100644 --- a/server/sonar-web/src/main/js/coding-rules/models/rules.js +++ b/server/sonar-web/src/main/js/apps/coding-rules/models/rules.js @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'coding-rules/models/rule' + './rule' ], function (Rule) { return Backbone.Collection.extend({ diff --git a/server/sonar-web/src/main/js/coding-rules/models/state.js b/server/sonar-web/src/main/js/apps/coding-rules/models/state.js similarity index 100% rename from server/sonar-web/src/main/js/coding-rules/models/state.js rename to server/sonar-web/src/main/js/apps/coding-rules/models/state.js diff --git a/server/sonar-web/src/main/js/coding-rules/rule-details-view.js b/server/sonar-web/src/main/js/apps/coding-rules/rule-details-view.js similarity index 93% rename from server/sonar-web/src/main/js/coding-rules/rule-details-view.js rename to server/sonar-web/src/main/js/apps/coding-rules/rule-details-view.js index 2f608db03a3..941cfc42912 100644 --- a/server/sonar-web/src/main/js/coding-rules/rule-details-view.js +++ b/server/sonar-web/src/main/js/apps/coding-rules/rule-details-view.js @@ -18,16 +18,16 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'coding-rules/models/rules', - 'coding-rules/rule/rule-meta-view', - 'coding-rules/rule/rule-description-view', - 'coding-rules/rule/rule-parameters-view', - 'coding-rules/rule/rule-profiles-view', - 'coding-rules/rule/custom-rules-view', - 'coding-rules/rule/manual-rule-creation-view', - 'coding-rules/rule/custom-rule-creation-view', - 'coding-rules/rule/rule-issues-view', - 'templates/coding-rules' + './models/rules', + './rule/rule-meta-view', + './rule/rule-description-view', + './rule/rule-parameters-view', + './rule/rule-profiles-view', + './rule/custom-rules-view', + './rule/manual-rule-creation-view', + './rule/custom-rule-creation-view', + './rule/rule-issues-view', + './templates' ], function (Rules, MetaView, diff --git a/server/sonar-web/src/main/js/coding-rules/rule-filter-view.js b/server/sonar-web/src/main/js/apps/coding-rules/rule-filter-view.js similarity index 96% rename from server/sonar-web/src/main/js/coding-rules/rule-filter-view.js rename to server/sonar-web/src/main/js/apps/coding-rules/rule-filter-view.js index e1fed12ef5f..cbe6434e225 100644 --- a/server/sonar-web/src/main/js/coding-rules/rule-filter-view.js +++ b/server/sonar-web/src/main/js/apps/coding-rules/rule-filter-view.js @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'issue/views/action-options-view', - 'templates/coding-rules' + 'components/issue/views/action-options-view', + './templates' ], function (ActionOptionsView) { var $ = jQuery; diff --git a/server/sonar-web/src/main/js/coding-rules/rule/custom-rule-creation-view.js b/server/sonar-web/src/main/js/apps/coding-rules/rule/custom-rule-creation-view.js similarity index 99% rename from server/sonar-web/src/main/js/coding-rules/rule/custom-rule-creation-view.js rename to server/sonar-web/src/main/js/apps/coding-rules/rule/custom-rule-creation-view.js index 3ff81d43723..5c3829854a6 100644 --- a/server/sonar-web/src/main/js/coding-rules/rule/custom-rule-creation-view.js +++ b/server/sonar-web/src/main/js/apps/coding-rules/rule/custom-rule-creation-view.js @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'common/modal-form', - 'templates/coding-rules' + 'components/common/modal-form', + '../templates' ], function (ModalFormView) { var $ = jQuery; diff --git a/server/sonar-web/src/main/js/coding-rules/rule/custom-rule-view.js b/server/sonar-web/src/main/js/apps/coding-rules/rule/custom-rule-view.js similarity index 98% rename from server/sonar-web/src/main/js/coding-rules/rule/custom-rule-view.js rename to server/sonar-web/src/main/js/apps/coding-rules/rule/custom-rule-view.js index 19b1784b348..98d9634516e 100644 --- a/server/sonar-web/src/main/js/coding-rules/rule/custom-rule-view.js +++ b/server/sonar-web/src/main/js/apps/coding-rules/rule/custom-rule-view.js @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'templates/coding-rules' + '../templates' ], function () { var $ = jQuery; diff --git a/server/sonar-web/src/main/js/coding-rules/rule/custom-rules-view.js b/server/sonar-web/src/main/js/apps/coding-rules/rule/custom-rules-view.js similarity index 94% rename from server/sonar-web/src/main/js/coding-rules/rule/custom-rules-view.js rename to server/sonar-web/src/main/js/apps/coding-rules/rule/custom-rules-view.js index 3d90e39547c..3785b8ed6b6 100644 --- a/server/sonar-web/src/main/js/coding-rules/rule/custom-rules-view.js +++ b/server/sonar-web/src/main/js/apps/coding-rules/rule/custom-rules-view.js @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'coding-rules/rule/custom-rule-view', - 'coding-rules/rule/custom-rule-creation-view', - 'templates/coding-rules' + './custom-rule-view', + './custom-rule-creation-view', + '../templates' ], function (CustomRuleView, CustomRuleCreationView) { return Marionette.CompositeView.extend({ diff --git a/server/sonar-web/src/main/js/coding-rules/rule/manual-rule-creation-view.js b/server/sonar-web/src/main/js/apps/coding-rules/rule/manual-rule-creation-view.js similarity index 98% rename from server/sonar-web/src/main/js/coding-rules/rule/manual-rule-creation-view.js rename to server/sonar-web/src/main/js/apps/coding-rules/rule/manual-rule-creation-view.js index 6fd9ce49c3f..6417beb3c8a 100644 --- a/server/sonar-web/src/main/js/coding-rules/rule/manual-rule-creation-view.js +++ b/server/sonar-web/src/main/js/apps/coding-rules/rule/manual-rule-creation-view.js @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'common/modal-form', - 'templates/coding-rules' + 'components/common/modal-form', + '../templates' ], function (ModalFormView) { var $ = jQuery; diff --git a/server/sonar-web/src/main/js/coding-rules/rule/profile-activation-view.js b/server/sonar-web/src/main/js/apps/coding-rules/rule/profile-activation-view.js similarity index 99% rename from server/sonar-web/src/main/js/coding-rules/rule/profile-activation-view.js rename to server/sonar-web/src/main/js/apps/coding-rules/rule/profile-activation-view.js index 2e2e0f9be56..5381c6299bc 100644 --- a/server/sonar-web/src/main/js/coding-rules/rule/profile-activation-view.js +++ b/server/sonar-web/src/main/js/apps/coding-rules/rule/profile-activation-view.js @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'common/modals', - 'templates/coding-rules' + 'components/common/modals', + '../templates' ], function (Modal) { var $ = jQuery; diff --git a/server/sonar-web/src/main/js/coding-rules/rule/rule-description-view.js b/server/sonar-web/src/main/js/apps/coding-rules/rule/rule-description-view.js similarity index 99% rename from server/sonar-web/src/main/js/coding-rules/rule/rule-description-view.js rename to server/sonar-web/src/main/js/apps/coding-rules/rule/rule-description-view.js index cc9af61314f..c84213c614d 100644 --- a/server/sonar-web/src/main/js/coding-rules/rule/rule-description-view.js +++ b/server/sonar-web/src/main/js/apps/coding-rules/rule/rule-description-view.js @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'templates/coding-rules' + '../templates' ], function () { return Marionette.ItemView.extend({ diff --git a/server/sonar-web/src/main/js/coding-rules/rule/rule-filter-mixin.js b/server/sonar-web/src/main/js/apps/coding-rules/rule/rule-filter-mixin.js similarity index 97% rename from server/sonar-web/src/main/js/coding-rules/rule/rule-filter-mixin.js rename to server/sonar-web/src/main/js/apps/coding-rules/rule/rule-filter-mixin.js index fed13b8fee9..839e1743af0 100644 --- a/server/sonar-web/src/main/js/coding-rules/rule/rule-filter-mixin.js +++ b/server/sonar-web/src/main/js/apps/coding-rules/rule/rule-filter-mixin.js @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'coding-rules/rule-filter-view' + '../rule-filter-view' ], function (RuleFilterView) { var $ = jQuery; diff --git a/server/sonar-web/src/main/js/coding-rules/rule/rule-issues-view.js b/server/sonar-web/src/main/js/apps/coding-rules/rule/rule-issues-view.js similarity index 98% rename from server/sonar-web/src/main/js/coding-rules/rule/rule-issues-view.js rename to server/sonar-web/src/main/js/apps/coding-rules/rule/rule-issues-view.js index bce51f8b505..e25e8be81de 100644 --- a/server/sonar-web/src/main/js/coding-rules/rule/rule-issues-view.js +++ b/server/sonar-web/src/main/js/apps/coding-rules/rule/rule-issues-view.js @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'templates/coding-rules' + '../templates' ], function () { var $ = jQuery; diff --git a/server/sonar-web/src/main/js/coding-rules/rule/rule-meta-view.js b/server/sonar-web/src/main/js/apps/coding-rules/rule/rule-meta-view.js similarity index 98% rename from server/sonar-web/src/main/js/coding-rules/rule/rule-meta-view.js rename to server/sonar-web/src/main/js/apps/coding-rules/rule/rule-meta-view.js index 80f2662d1ef..1a4cb4c3f7e 100644 --- a/server/sonar-web/src/main/js/coding-rules/rule/rule-meta-view.js +++ b/server/sonar-web/src/main/js/apps/coding-rules/rule/rule-meta-view.js @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'coding-rules/rule/rule-filter-mixin', - 'templates/coding-rules' + './rule-filter-mixin', + '../templates' ], function (RuleFilterMixin) { return Marionette.ItemView.extend(RuleFilterMixin).extend({ diff --git a/server/sonar-web/src/main/js/coding-rules/rule/rule-parameters-view.js b/server/sonar-web/src/main/js/apps/coding-rules/rule/rule-parameters-view.js similarity index 98% rename from server/sonar-web/src/main/js/coding-rules/rule/rule-parameters-view.js rename to server/sonar-web/src/main/js/apps/coding-rules/rule/rule-parameters-view.js index 514fe6f38ff..2e5a927621d 100644 --- a/server/sonar-web/src/main/js/coding-rules/rule/rule-parameters-view.js +++ b/server/sonar-web/src/main/js/apps/coding-rules/rule/rule-parameters-view.js @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'templates/coding-rules' + '../templates' ], function () { return Marionette.ItemView.extend({ diff --git a/server/sonar-web/src/main/js/coding-rules/rule/rule-profile-view.js b/server/sonar-web/src/main/js/apps/coding-rules/rule/rule-profile-view.js similarity index 98% rename from server/sonar-web/src/main/js/coding-rules/rule/rule-profile-view.js rename to server/sonar-web/src/main/js/apps/coding-rules/rule/rule-profile-view.js index 6fb07e347d0..42902e38c3c 100644 --- a/server/sonar-web/src/main/js/coding-rules/rule/rule-profile-view.js +++ b/server/sonar-web/src/main/js/apps/coding-rules/rule/rule-profile-view.js @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'coding-rules/rule/profile-activation-view', - 'templates/coding-rules' + './profile-activation-view', + '../templates' ], function (ProfileActivationView) { return Marionette.ItemView.extend({ diff --git a/server/sonar-web/src/main/js/coding-rules/rule/rule-profiles-view.js b/server/sonar-web/src/main/js/apps/coding-rules/rule/rule-profiles-view.js similarity index 95% rename from server/sonar-web/src/main/js/coding-rules/rule/rule-profiles-view.js rename to server/sonar-web/src/main/js/apps/coding-rules/rule/rule-profiles-view.js index 20d4e9a9ff3..7c3dc3df275 100644 --- a/server/sonar-web/src/main/js/coding-rules/rule/rule-profiles-view.js +++ b/server/sonar-web/src/main/js/apps/coding-rules/rule/rule-profiles-view.js @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'coding-rules/rule/rule-profile-view', - 'coding-rules/rule/profile-activation-view', - 'templates/coding-rules' + './rule-profile-view', + './profile-activation-view', + '../templates' ], function (ProfileView, ProfileActivationView) { return Marionette.CompositeView.extend({ diff --git a/server/sonar-web/src/main/hbs/coding-rules/_coding-rules-workspace-list-item-activation.hbs b/server/sonar-web/src/main/js/apps/coding-rules/templates/_coding-rules-workspace-list-item-activation.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/coding-rules/_coding-rules-workspace-list-item-activation.hbs rename to server/sonar-web/src/main/js/apps/coding-rules/templates/_coding-rules-workspace-list-item-activation.hbs diff --git a/server/sonar-web/src/main/hbs/coding-rules/coding-rules-bulk-change-modal.hbs b/server/sonar-web/src/main/js/apps/coding-rules/templates/coding-rules-bulk-change-modal.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/coding-rules/coding-rules-bulk-change-modal.hbs rename to server/sonar-web/src/main/js/apps/coding-rules/templates/coding-rules-bulk-change-modal.hbs diff --git a/server/sonar-web/src/main/hbs/coding-rules/coding-rules-bulk-change-popup.hbs b/server/sonar-web/src/main/js/apps/coding-rules/templates/coding-rules-bulk-change-popup.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/coding-rules/coding-rules-bulk-change-popup.hbs rename to server/sonar-web/src/main/js/apps/coding-rules/templates/coding-rules-bulk-change-popup.hbs diff --git a/server/sonar-web/src/main/hbs/coding-rules/coding-rules-filters.hbs b/server/sonar-web/src/main/js/apps/coding-rules/templates/coding-rules-filters.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/coding-rules/coding-rules-filters.hbs rename to server/sonar-web/src/main/js/apps/coding-rules/templates/coding-rules-filters.hbs diff --git a/server/sonar-web/src/main/hbs/coding-rules/coding-rules-layout.hbs b/server/sonar-web/src/main/js/apps/coding-rules/templates/coding-rules-layout.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/coding-rules/coding-rules-layout.hbs rename to server/sonar-web/src/main/js/apps/coding-rules/templates/coding-rules-layout.hbs diff --git a/server/sonar-web/src/main/hbs/coding-rules/coding-rules-rule-details.hbs b/server/sonar-web/src/main/js/apps/coding-rules/templates/coding-rules-rule-details.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/coding-rules/coding-rules-rule-details.hbs rename to server/sonar-web/src/main/js/apps/coding-rules/templates/coding-rules-rule-details.hbs diff --git a/server/sonar-web/src/main/hbs/coding-rules/coding-rules-rule-filter-form.hbs b/server/sonar-web/src/main/js/apps/coding-rules/templates/coding-rules-rule-filter-form.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/coding-rules/coding-rules-rule-filter-form.hbs rename to server/sonar-web/src/main/js/apps/coding-rules/templates/coding-rules-rule-filter-form.hbs diff --git a/server/sonar-web/src/main/hbs/coding-rules/coding-rules-workspace-header.hbs b/server/sonar-web/src/main/js/apps/coding-rules/templates/coding-rules-workspace-header.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/coding-rules/coding-rules-workspace-header.hbs rename to server/sonar-web/src/main/js/apps/coding-rules/templates/coding-rules-workspace-header.hbs diff --git a/server/sonar-web/src/main/hbs/coding-rules/coding-rules-workspace-list-item.hbs b/server/sonar-web/src/main/js/apps/coding-rules/templates/coding-rules-workspace-list-item.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/coding-rules/coding-rules-workspace-list-item.hbs rename to server/sonar-web/src/main/js/apps/coding-rules/templates/coding-rules-workspace-list-item.hbs diff --git a/server/sonar-web/src/main/hbs/coding-rules/coding-rules-workspace-list.hbs b/server/sonar-web/src/main/js/apps/coding-rules/templates/coding-rules-workspace-list.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/coding-rules/coding-rules-workspace-list.hbs rename to server/sonar-web/src/main/js/apps/coding-rules/templates/coding-rules-workspace-list.hbs diff --git a/server/sonar-web/src/main/hbs/coding-rules/facets/_coding-rules-facet-header.hbs b/server/sonar-web/src/main/js/apps/coding-rules/templates/facets/_coding-rules-facet-header.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/coding-rules/facets/_coding-rules-facet-header.hbs rename to server/sonar-web/src/main/js/apps/coding-rules/templates/facets/_coding-rules-facet-header.hbs diff --git a/server/sonar-web/src/main/hbs/coding-rules/facets/coding-rules-available-since-facet.hbs b/server/sonar-web/src/main/js/apps/coding-rules/templates/facets/coding-rules-available-since-facet.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/coding-rules/facets/coding-rules-available-since-facet.hbs rename to server/sonar-web/src/main/js/apps/coding-rules/templates/facets/coding-rules-available-since-facet.hbs diff --git a/server/sonar-web/src/main/hbs/coding-rules/facets/coding-rules-base-facet.hbs b/server/sonar-web/src/main/js/apps/coding-rules/templates/facets/coding-rules-base-facet.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/coding-rules/facets/coding-rules-base-facet.hbs rename to server/sonar-web/src/main/js/apps/coding-rules/templates/facets/coding-rules-base-facet.hbs diff --git a/server/sonar-web/src/main/hbs/coding-rules/facets/coding-rules-characteristic-facet.hbs b/server/sonar-web/src/main/js/apps/coding-rules/templates/facets/coding-rules-characteristic-facet.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/coding-rules/facets/coding-rules-characteristic-facet.hbs rename to server/sonar-web/src/main/js/apps/coding-rules/templates/facets/coding-rules-characteristic-facet.hbs diff --git a/server/sonar-web/src/main/hbs/coding-rules/facets/coding-rules-custom-values-facet.hbs b/server/sonar-web/src/main/js/apps/coding-rules/templates/facets/coding-rules-custom-values-facet.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/coding-rules/facets/coding-rules-custom-values-facet.hbs rename to server/sonar-web/src/main/js/apps/coding-rules/templates/facets/coding-rules-custom-values-facet.hbs diff --git a/server/sonar-web/src/main/hbs/coding-rules/facets/coding-rules-key-facet.hbs b/server/sonar-web/src/main/js/apps/coding-rules/templates/facets/coding-rules-key-facet.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/coding-rules/facets/coding-rules-key-facet.hbs rename to server/sonar-web/src/main/js/apps/coding-rules/templates/facets/coding-rules-key-facet.hbs diff --git a/server/sonar-web/src/main/hbs/coding-rules/facets/coding-rules-quality-profile-facet.hbs b/server/sonar-web/src/main/js/apps/coding-rules/templates/facets/coding-rules-quality-profile-facet.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/coding-rules/facets/coding-rules-quality-profile-facet.hbs rename to server/sonar-web/src/main/js/apps/coding-rules/templates/facets/coding-rules-quality-profile-facet.hbs diff --git a/server/sonar-web/src/main/hbs/coding-rules/facets/coding-rules-query-facet.hbs b/server/sonar-web/src/main/js/apps/coding-rules/templates/facets/coding-rules-query-facet.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/coding-rules/facets/coding-rules-query-facet.hbs rename to server/sonar-web/src/main/js/apps/coding-rules/templates/facets/coding-rules-query-facet.hbs diff --git a/server/sonar-web/src/main/hbs/coding-rules/facets/coding-rules-severity-facet.hbs b/server/sonar-web/src/main/js/apps/coding-rules/templates/facets/coding-rules-severity-facet.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/coding-rules/facets/coding-rules-severity-facet.hbs rename to server/sonar-web/src/main/js/apps/coding-rules/templates/facets/coding-rules-severity-facet.hbs diff --git a/server/sonar-web/src/main/hbs/coding-rules/facets/coding-rules-template-facet.hbs b/server/sonar-web/src/main/js/apps/coding-rules/templates/facets/coding-rules-template-facet.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/coding-rules/facets/coding-rules-template-facet.hbs rename to server/sonar-web/src/main/js/apps/coding-rules/templates/facets/coding-rules-template-facet.hbs diff --git a/server/sonar-web/src/main/hbs/coding-rules/rule/coding-rules-custom-rule-creation.hbs b/server/sonar-web/src/main/js/apps/coding-rules/templates/rule/coding-rules-custom-rule-creation.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/coding-rules/rule/coding-rules-custom-rule-creation.hbs rename to server/sonar-web/src/main/js/apps/coding-rules/templates/rule/coding-rules-custom-rule-creation.hbs diff --git a/server/sonar-web/src/main/hbs/coding-rules/rule/coding-rules-custom-rule.hbs b/server/sonar-web/src/main/js/apps/coding-rules/templates/rule/coding-rules-custom-rule.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/coding-rules/rule/coding-rules-custom-rule.hbs rename to server/sonar-web/src/main/js/apps/coding-rules/templates/rule/coding-rules-custom-rule.hbs diff --git a/server/sonar-web/src/main/hbs/coding-rules/rule/coding-rules-custom-rules.hbs b/server/sonar-web/src/main/js/apps/coding-rules/templates/rule/coding-rules-custom-rules.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/coding-rules/rule/coding-rules-custom-rules.hbs rename to server/sonar-web/src/main/js/apps/coding-rules/templates/rule/coding-rules-custom-rules.hbs diff --git a/server/sonar-web/src/main/hbs/coding-rules/rule/coding-rules-manual-rule-creation.hbs b/server/sonar-web/src/main/js/apps/coding-rules/templates/rule/coding-rules-manual-rule-creation.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/coding-rules/rule/coding-rules-manual-rule-creation.hbs rename to server/sonar-web/src/main/js/apps/coding-rules/templates/rule/coding-rules-manual-rule-creation.hbs diff --git a/server/sonar-web/src/main/hbs/coding-rules/rule/coding-rules-profile-activation.hbs b/server/sonar-web/src/main/js/apps/coding-rules/templates/rule/coding-rules-profile-activation.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/coding-rules/rule/coding-rules-profile-activation.hbs rename to server/sonar-web/src/main/js/apps/coding-rules/templates/rule/coding-rules-profile-activation.hbs diff --git a/server/sonar-web/src/main/hbs/coding-rules/rule/coding-rules-rule-description.hbs b/server/sonar-web/src/main/js/apps/coding-rules/templates/rule/coding-rules-rule-description.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/coding-rules/rule/coding-rules-rule-description.hbs rename to server/sonar-web/src/main/js/apps/coding-rules/templates/rule/coding-rules-rule-description.hbs diff --git a/server/sonar-web/src/main/hbs/coding-rules/rule/coding-rules-rule-issues.hbs b/server/sonar-web/src/main/js/apps/coding-rules/templates/rule/coding-rules-rule-issues.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/coding-rules/rule/coding-rules-rule-issues.hbs rename to server/sonar-web/src/main/js/apps/coding-rules/templates/rule/coding-rules-rule-issues.hbs diff --git a/server/sonar-web/src/main/hbs/coding-rules/rule/coding-rules-rule-meta.hbs b/server/sonar-web/src/main/js/apps/coding-rules/templates/rule/coding-rules-rule-meta.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/coding-rules/rule/coding-rules-rule-meta.hbs rename to server/sonar-web/src/main/js/apps/coding-rules/templates/rule/coding-rules-rule-meta.hbs diff --git a/server/sonar-web/src/main/hbs/coding-rules/rule/coding-rules-rule-parameters.hbs b/server/sonar-web/src/main/js/apps/coding-rules/templates/rule/coding-rules-rule-parameters.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/coding-rules/rule/coding-rules-rule-parameters.hbs rename to server/sonar-web/src/main/js/apps/coding-rules/templates/rule/coding-rules-rule-parameters.hbs diff --git a/server/sonar-web/src/main/hbs/coding-rules/rule/coding-rules-rule-profile.hbs b/server/sonar-web/src/main/js/apps/coding-rules/templates/rule/coding-rules-rule-profile.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/coding-rules/rule/coding-rules-rule-profile.hbs rename to server/sonar-web/src/main/js/apps/coding-rules/templates/rule/coding-rules-rule-profile.hbs diff --git a/server/sonar-web/src/main/hbs/coding-rules/rule/coding-rules-rule-profiles.hbs b/server/sonar-web/src/main/js/apps/coding-rules/templates/rule/coding-rules-rule-profiles.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/coding-rules/rule/coding-rules-rule-profiles.hbs rename to server/sonar-web/src/main/js/apps/coding-rules/templates/rule/coding-rules-rule-profiles.hbs diff --git a/server/sonar-web/src/main/js/coding-rules/workspace-header-view.js b/server/sonar-web/src/main/js/apps/coding-rules/workspace-header-view.js similarity index 95% rename from server/sonar-web/src/main/js/coding-rules/workspace-header-view.js rename to server/sonar-web/src/main/js/apps/coding-rules/workspace-header-view.js index 408c5e7b6f1..b194b54fc90 100644 --- a/server/sonar-web/src/main/js/coding-rules/workspace-header-view.js +++ b/server/sonar-web/src/main/js/apps/coding-rules/workspace-header-view.js @@ -19,9 +19,9 @@ */ define([ 'components/navigator/workspace-header-view', - 'coding-rules/bulk-change-popup-view', - 'coding-rules/rule/manual-rule-creation-view', - 'templates/coding-rules' + './bulk-change-popup-view', + './rule/manual-rule-creation-view', + './templates' ], function (WorkspaceHeaderView, BulkChangePopup, ManualRuleCreationView) { var $ = jQuery; diff --git a/server/sonar-web/src/main/js/coding-rules/workspace-list-empty-view.js b/server/sonar-web/src/main/js/apps/coding-rules/workspace-list-empty-view.js similarity index 100% rename from server/sonar-web/src/main/js/coding-rules/workspace-list-empty-view.js rename to server/sonar-web/src/main/js/apps/coding-rules/workspace-list-empty-view.js diff --git a/server/sonar-web/src/main/js/coding-rules/workspace-list-item-view.js b/server/sonar-web/src/main/js/apps/coding-rules/workspace-list-item-view.js similarity index 96% rename from server/sonar-web/src/main/js/coding-rules/workspace-list-item-view.js rename to server/sonar-web/src/main/js/apps/coding-rules/workspace-list-item-view.js index 44fad926616..b18ba7b52e1 100644 --- a/server/sonar-web/src/main/js/coding-rules/workspace-list-item-view.js +++ b/server/sonar-web/src/main/js/apps/coding-rules/workspace-list-item-view.js @@ -19,9 +19,9 @@ */ define([ 'components/navigator/workspace-list-item-view', - 'coding-rules/rule/profile-activation-view', - 'coding-rules/rule/rule-filter-mixin', - 'templates/coding-rules' + './rule/profile-activation-view', + './rule/rule-filter-mixin', + './templates' ], function (WorkspaceListItemView, ProfileActivationView, RuleFilterMixin) { return WorkspaceListItemView.extend(RuleFilterMixin).extend({ diff --git a/server/sonar-web/src/main/js/coding-rules/workspace-list-view.js b/server/sonar-web/src/main/js/apps/coding-rules/workspace-list-view.js similarity index 92% rename from server/sonar-web/src/main/js/coding-rules/workspace-list-view.js rename to server/sonar-web/src/main/js/apps/coding-rules/workspace-list-view.js index da435074b7f..e5f1ac02eb2 100644 --- a/server/sonar-web/src/main/js/coding-rules/workspace-list-view.js +++ b/server/sonar-web/src/main/js/apps/coding-rules/workspace-list-view.js @@ -19,9 +19,9 @@ */ define([ 'components/navigator/workspace-list-view', - 'coding-rules/workspace-list-item-view', - 'coding-rules/workspace-list-empty-view', - 'templates/coding-rules' + './workspace-list-item-view', + './workspace-list-empty-view', + './templates' ], function (WorkspaceListView, WorkspaceListItemView, WorkspaceListEmptyView) { return WorkspaceListView.extend({ diff --git a/server/sonar-web/src/main/js/drilldown/app.js b/server/sonar-web/src/main/js/apps/drilldown/app.js similarity index 95% rename from server/sonar-web/src/main/js/drilldown/app.js rename to server/sonar-web/src/main/js/apps/drilldown/app.js index c3e2380eb5d..a6d9b5546b3 100644 --- a/server/sonar-web/src/main/js/drilldown/app.js +++ b/server/sonar-web/src/main/js/apps/drilldown/app.js @@ -17,12 +17,8 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -requirejs.config({ - baseUrl: baseUrl + '/js' -}); - -requirejs([ - 'source-viewer/viewer' +define([ + 'components/source-viewer/main' ], function (SourceViewer) { var $ = jQuery, diff --git a/server/sonar-web/src/main/js/markdown/app.js b/server/sonar-web/src/main/js/apps/markdown/app.js similarity index 94% rename from server/sonar-web/src/main/js/markdown/app.js rename to server/sonar-web/src/main/js/apps/markdown/app.js index 8446405c15c..80215acba17 100644 --- a/server/sonar-web/src/main/js/markdown/app.js +++ b/server/sonar-web/src/main/js/apps/markdown/app.js @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -define(['markdown/markdown-help-view'], function (MarkdownView) { +define(['./markdown-help-view'], function (MarkdownView) { var App = new Marionette.Application(); diff --git a/server/sonar-web/src/main/js/markdown/markdown-help-view.js b/server/sonar-web/src/main/js/apps/markdown/markdown-help-view.js similarity index 95% rename from server/sonar-web/src/main/js/markdown/markdown-help-view.js rename to server/sonar-web/src/main/js/apps/markdown/markdown-help-view.js index 8c2c10dee66..050128861bd 100644 --- a/server/sonar-web/src/main/js/markdown/markdown-help-view.js +++ b/server/sonar-web/src/main/js/apps/markdown/markdown-help-view.js @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -define(['templates/markdown'], function () { +define(['./templates'], function () { return Marionette.ItemView.extend({ template: Templates['markdown-help'] diff --git a/server/sonar-web/src/main/hbs/markdown/markdown-help.hbs b/server/sonar-web/src/main/js/apps/markdown/templates/markdown-help.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/markdown/markdown-help.hbs rename to server/sonar-web/src/main/js/apps/markdown/templates/markdown-help.hbs diff --git a/server/sonar-web/src/main/js/measures/app.js b/server/sonar-web/src/main/js/apps/measures/app.js similarity index 92% rename from server/sonar-web/src/main/js/measures/app.js rename to server/sonar-web/src/main/js/apps/measures/app.js index d871a2f5aca..5885cbe87ba 100644 --- a/server/sonar-web/src/main/js/measures/app.js +++ b/server/sonar-web/src/main/js/apps/measures/app.js @@ -17,21 +17,17 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -requirejs.config({ - baseUrl: baseUrl + '/js' -}); - -requirejs( +define( [ - 'measures/measures-filter-bar', - 'navigator/filters/base-filters', - 'navigator/filters/checkbox-filters', - 'navigator/filters/choice-filters', - 'navigator/filters/ajax-select-filters', - 'navigator/filters/favorite-filters', - 'navigator/filters/range-filters', - 'navigator/filters/string-filters', - 'navigator/filters/metric-filters' + './measures-filter-bar', + 'components/navigator/filters/base-filters', + 'components/navigator/filters/checkbox-filters', + 'components/navigator/filters/choice-filters', + 'components/navigator/filters/ajax-select-filters', + 'components/navigator/filters/favorite-filters', + 'components/navigator/filters/range-filters', + 'components/navigator/filters/string-filters', + 'components/navigator/filters/metric-filters' ], function (FilterBar, BaseFilters, CheckboxFilterView, ChoiceFilters, AjaxSelectFilters, FavoriteFilters, RangeFilters, StringFilterView, MetricFilterView) { diff --git a/server/sonar-web/src/main/js/measures/measures-filter-bar.js b/server/sonar-web/src/main/js/apps/measures/measures-filter-bar.js similarity index 92% rename from server/sonar-web/src/main/js/measures/measures-filter-bar.js rename to server/sonar-web/src/main/js/apps/measures/measures-filter-bar.js index 4589b8b4b78..a2ca390e068 100644 --- a/server/sonar-web/src/main/js/measures/measures-filter-bar.js +++ b/server/sonar-web/src/main/js/apps/measures/measures-filter-bar.js @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -define(['navigator/filters/filter-bar'], function (FilterBarView) { +define(['components/navigator/filters/filter-bar'], function (FilterBarView) { return FilterBarView.extend({ template: function () { diff --git a/server/sonar-web/src/main/js/nav/app.js b/server/sonar-web/src/main/js/apps/nav/app.js similarity index 94% rename from server/sonar-web/src/main/js/nav/app.js rename to server/sonar-web/src/main/js/apps/nav/app.js index 880e1f549f2..5d45dd82f97 100644 --- a/server/sonar-web/src/main/js/nav/app.js +++ b/server/sonar-web/src/main/js/apps/nav/app.js @@ -18,11 +18,11 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'nav/state', - 'nav/global-navbar-view', - 'nav/context-navbar-view', - 'nav/settings-navbar-view', - 'workspace/main' + './state', + './global-navbar-view', + './context-navbar-view', + './settings-navbar-view', + 'components/workspace/main' ], function (State, GlobalNavbarView, ContextNavbarView, SettingsNavbarView) { var $ = jQuery, diff --git a/server/sonar-web/src/main/js/nav/context-navbar-view.js b/server/sonar-web/src/main/js/apps/nav/context-navbar-view.js similarity index 99% rename from server/sonar-web/src/main/js/nav/context-navbar-view.js rename to server/sonar-web/src/main/js/apps/nav/context-navbar-view.js index 4730c38249c..07eb0cd159a 100644 --- a/server/sonar-web/src/main/js/nav/context-navbar-view.js +++ b/server/sonar-web/src/main/js/apps/nav/context-navbar-view.js @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'templates/nav' + './templates' ], function () { var $ = jQuery, diff --git a/server/sonar-web/src/main/js/nav/global-navbar-view.js b/server/sonar-web/src/main/js/apps/nav/global-navbar-view.js similarity index 97% rename from server/sonar-web/src/main/js/nav/global-navbar-view.js rename to server/sonar-web/src/main/js/apps/nav/global-navbar-view.js index b5435662373..9ee43d9fdfe 100644 --- a/server/sonar-web/src/main/js/nav/global-navbar-view.js +++ b/server/sonar-web/src/main/js/apps/nav/global-navbar-view.js @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'nav/search-view', - 'nav/shortcuts-help-view', - 'templates/nav' + './search-view', + './shortcuts-help-view', + './templates' ], function (SearchView, ShortcutsHelpView) { return Marionette.Layout.extend({ diff --git a/server/sonar-web/src/main/js/nav/search-view.js b/server/sonar-web/src/main/js/apps/nav/search-view.js similarity index 99% rename from server/sonar-web/src/main/js/nav/search-view.js rename to server/sonar-web/src/main/js/apps/nav/search-view.js index 7736cda0a04..57daa695031 100644 --- a/server/sonar-web/src/main/js/nav/search-view.js +++ b/server/sonar-web/src/main/js/apps/nav/search-view.js @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'common/selectable-collection-view', - 'templates/nav' + 'components/common/selectable-collection-view', + './templates' ], function (SelectableCollectionView) { var $ = jQuery, diff --git a/server/sonar-web/src/main/js/nav/settings-navbar-view.js b/server/sonar-web/src/main/js/apps/nav/settings-navbar-view.js similarity index 98% rename from server/sonar-web/src/main/js/nav/settings-navbar-view.js rename to server/sonar-web/src/main/js/apps/nav/settings-navbar-view.js index 5fb2616a55c..6134e229fd1 100644 --- a/server/sonar-web/src/main/js/nav/settings-navbar-view.js +++ b/server/sonar-web/src/main/js/apps/nav/settings-navbar-view.js @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'templates/nav' + './templates' ], function () { return Marionette.ItemView.extend({ diff --git a/server/sonar-web/src/main/js/nav/shortcuts-help-view.js b/server/sonar-web/src/main/js/apps/nav/shortcuts-help-view.js similarity index 95% rename from server/sonar-web/src/main/js/nav/shortcuts-help-view.js rename to server/sonar-web/src/main/js/apps/nav/shortcuts-help-view.js index a614b13ed5b..b054b7c6150 100644 --- a/server/sonar-web/src/main/js/nav/shortcuts-help-view.js +++ b/server/sonar-web/src/main/js/apps/nav/shortcuts-help-view.js @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'common/modals', - 'templates/nav' + 'components/common/modals', + './templates' ], function (ModalView) { return ModalView.extend({ diff --git a/server/sonar-web/src/main/js/nav/state.js b/server/sonar-web/src/main/js/apps/nav/state.js similarity index 100% rename from server/sonar-web/src/main/js/nav/state.js rename to server/sonar-web/src/main/js/apps/nav/state.js diff --git a/server/sonar-web/src/main/hbs/nav/_nav-logo.hbs b/server/sonar-web/src/main/js/apps/nav/templates/_nav-logo.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/nav/_nav-logo.hbs rename to server/sonar-web/src/main/js/apps/nav/templates/_nav-logo.hbs diff --git a/server/sonar-web/src/main/hbs/nav/_nav-navbar-label.hbs b/server/sonar-web/src/main/js/apps/nav/templates/_nav-navbar-label.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/nav/_nav-navbar-label.hbs rename to server/sonar-web/src/main/js/apps/nav/templates/_nav-navbar-label.hbs diff --git a/server/sonar-web/src/main/hbs/nav/nav-context-navbar.hbs b/server/sonar-web/src/main/js/apps/nav/templates/nav-context-navbar.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/nav/nav-context-navbar.hbs rename to server/sonar-web/src/main/js/apps/nav/templates/nav-context-navbar.hbs diff --git a/server/sonar-web/src/main/hbs/nav/nav-global-navbar.hbs b/server/sonar-web/src/main/js/apps/nav/templates/nav-global-navbar.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/nav/nav-global-navbar.hbs rename to server/sonar-web/src/main/js/apps/nav/templates/nav-global-navbar.hbs diff --git a/server/sonar-web/src/main/hbs/nav/nav-search-empty.hbs b/server/sonar-web/src/main/js/apps/nav/templates/nav-search-empty.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/nav/nav-search-empty.hbs rename to server/sonar-web/src/main/js/apps/nav/templates/nav-search-empty.hbs diff --git a/server/sonar-web/src/main/hbs/nav/nav-search-item.hbs b/server/sonar-web/src/main/js/apps/nav/templates/nav-search-item.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/nav/nav-search-item.hbs rename to server/sonar-web/src/main/js/apps/nav/templates/nav-search-item.hbs diff --git a/server/sonar-web/src/main/hbs/nav/nav-search.hbs b/server/sonar-web/src/main/js/apps/nav/templates/nav-search.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/nav/nav-search.hbs rename to server/sonar-web/src/main/js/apps/nav/templates/nav-search.hbs diff --git a/server/sonar-web/src/main/hbs/nav/nav-settings-navbar.hbs b/server/sonar-web/src/main/js/apps/nav/templates/nav-settings-navbar.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/nav/nav-settings-navbar.hbs rename to server/sonar-web/src/main/js/apps/nav/templates/nav-settings-navbar.hbs diff --git a/server/sonar-web/src/main/hbs/nav/nav-shortcuts-help.hbs b/server/sonar-web/src/main/js/apps/nav/templates/nav-shortcuts-help.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/nav/nav-shortcuts-help.hbs rename to server/sonar-web/src/main/js/apps/nav/templates/nav-shortcuts-help.hbs diff --git a/server/sonar-web/src/main/js/quality-profiles/actions-view.js b/server/sonar-web/src/main/js/apps/quality-profiles/actions-view.js similarity index 95% rename from server/sonar-web/src/main/js/quality-profiles/actions-view.js rename to server/sonar-web/src/main/js/apps/quality-profiles/actions-view.js index 3581f909c1b..fc107d10cef 100644 --- a/server/sonar-web/src/main/js/quality-profiles/actions-view.js +++ b/server/sonar-web/src/main/js/apps/quality-profiles/actions-view.js @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'quality-profiles/create-profile-view', - 'quality-profiles/restore-profile-view', - 'quality-profiles/restore-built-in-profiles-view', - 'templates/quality-profiles' + './create-profile-view', + './restore-profile-view', + './restore-built-in-profiles-view', + './templates' ], function (CreateProfileView, RestoreProfileView, RestoreBuiltInProfilesView) { var $ = jQuery; diff --git a/server/sonar-web/src/main/js/quality-profiles/app.js b/server/sonar-web/src/main/js/apps/quality-profiles/app.js similarity index 92% rename from server/sonar-web/src/main/js/quality-profiles/app.js rename to server/sonar-web/src/main/js/apps/quality-profiles/app.js index 81f9aa9d4d3..30ed90b173c 100644 --- a/server/sonar-web/src/main/js/quality-profiles/app.js +++ b/server/sonar-web/src/main/js/apps/quality-profiles/app.js @@ -17,13 +17,13 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -require([ - 'quality-profiles/router', - 'quality-profiles/controller', - 'quality-profiles/layout', - 'quality-profiles/profiles', - 'quality-profiles/actions-view', - 'quality-profiles/profiles-view' +define([ + './router', + './controller', + './layout', + './profiles', + './actions-view', + './profiles-view' ], function (Router, Controller, Layout, Profiles, ActionsView, ProfilesView) { var $ = jQuery, diff --git a/server/sonar-web/src/main/js/quality-profiles/change-profile-parent-view.js b/server/sonar-web/src/main/js/apps/quality-profiles/change-profile-parent-view.js similarity index 97% rename from server/sonar-web/src/main/js/quality-profiles/change-profile-parent-view.js rename to server/sonar-web/src/main/js/apps/quality-profiles/change-profile-parent-view.js index ef087af1a18..e3c30699fe7 100644 --- a/server/sonar-web/src/main/js/quality-profiles/change-profile-parent-view.js +++ b/server/sonar-web/src/main/js/apps/quality-profiles/change-profile-parent-view.js @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'common/modal-form', - 'templates/quality-profiles' + 'components/common/modal-form', + './templates' ], function (ModalFormView) { var $ = jQuery; diff --git a/server/sonar-web/src/main/js/quality-profiles/controller.js b/server/sonar-web/src/main/js/apps/quality-profiles/controller.js similarity index 98% rename from server/sonar-web/src/main/js/quality-profiles/controller.js rename to server/sonar-web/src/main/js/apps/quality-profiles/controller.js index 2087cd447fe..282d398dc3f 100644 --- a/server/sonar-web/src/main/js/quality-profiles/controller.js +++ b/server/sonar-web/src/main/js/apps/quality-profiles/controller.js @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'quality-profiles/profile-header-view', - 'quality-profiles/profile-details-view' + './profile-header-view', + './profile-details-view' ], function (ProfileHeaderView, ProfileDetailsView) { var $ = jQuery; diff --git a/server/sonar-web/src/main/js/quality-profiles/copy-profile-view.js b/server/sonar-web/src/main/js/apps/quality-profiles/copy-profile-view.js similarity index 96% rename from server/sonar-web/src/main/js/quality-profiles/copy-profile-view.js rename to server/sonar-web/src/main/js/apps/quality-profiles/copy-profile-view.js index 5c5eb987957..446254c1c4c 100644 --- a/server/sonar-web/src/main/js/quality-profiles/copy-profile-view.js +++ b/server/sonar-web/src/main/js/apps/quality-profiles/copy-profile-view.js @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'common/modal-form', - 'quality-profiles/profile', - 'templates/quality-profiles' + 'components/common/modal-form', + './profile', + './templates' ], function (ModalFormView, Profile) { var $ = jQuery; diff --git a/server/sonar-web/src/main/js/quality-profiles/create-profile-view.js b/server/sonar-web/src/main/js/apps/quality-profiles/create-profile-view.js similarity index 96% rename from server/sonar-web/src/main/js/quality-profiles/create-profile-view.js rename to server/sonar-web/src/main/js/apps/quality-profiles/create-profile-view.js index e6045f31716..ec5a0923d4b 100644 --- a/server/sonar-web/src/main/js/quality-profiles/create-profile-view.js +++ b/server/sonar-web/src/main/js/apps/quality-profiles/create-profile-view.js @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'common/modal-form', - 'common/file-upload', - 'quality-profiles/profile', - 'templates/quality-profiles' + 'components/common/modal-form', + 'components/common/file-upload', + './profile', + './templates' ], function (ModalFormView, uploader, Profile) { var $ = jQuery; diff --git a/server/sonar-web/src/main/js/quality-profiles/delete-profile-view.js b/server/sonar-web/src/main/js/apps/quality-profiles/delete-profile-view.js similarity index 97% rename from server/sonar-web/src/main/js/quality-profiles/delete-profile-view.js rename to server/sonar-web/src/main/js/apps/quality-profiles/delete-profile-view.js index e1026727f79..3b2ccee277a 100644 --- a/server/sonar-web/src/main/js/quality-profiles/delete-profile-view.js +++ b/server/sonar-web/src/main/js/apps/quality-profiles/delete-profile-view.js @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'common/modal-form', - 'templates/quality-profiles' + 'components/common/modal-form', + './templates' ], function (ModalFormView) { var $ = jQuery; diff --git a/server/sonar-web/src/main/js/quality-profiles/helpers.js b/server/sonar-web/src/main/js/apps/quality-profiles/helpers.js similarity index 100% rename from server/sonar-web/src/main/js/quality-profiles/helpers.js rename to server/sonar-web/src/main/js/apps/quality-profiles/helpers.js diff --git a/server/sonar-web/src/main/js/quality-profiles/intro-view.js b/server/sonar-web/src/main/js/apps/quality-profiles/intro-view.js similarity index 97% rename from server/sonar-web/src/main/js/quality-profiles/intro-view.js rename to server/sonar-web/src/main/js/apps/quality-profiles/intro-view.js index a074bc6da1d..abfb416541b 100644 --- a/server/sonar-web/src/main/js/quality-profiles/intro-view.js +++ b/server/sonar-web/src/main/js/apps/quality-profiles/intro-view.js @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'templates/quality-profiles' + './templates' ], function () { return Marionette.ItemView.extend({ diff --git a/server/sonar-web/src/main/js/quality-profiles/layout.js b/server/sonar-web/src/main/js/apps/quality-profiles/layout.js similarity index 96% rename from server/sonar-web/src/main/js/quality-profiles/layout.js rename to server/sonar-web/src/main/js/apps/quality-profiles/layout.js index ccc2f6df805..9099a11fa78 100644 --- a/server/sonar-web/src/main/js/quality-profiles/layout.js +++ b/server/sonar-web/src/main/js/apps/quality-profiles/layout.js @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'quality-profiles/intro-view', - 'templates/quality-profiles' + './intro-view', + './templates' ], function (IntroView) { var $ = jQuery; diff --git a/server/sonar-web/src/main/js/quality-profiles/profile-changelog-view.js b/server/sonar-web/src/main/js/apps/quality-profiles/profile-changelog-view.js similarity index 98% rename from server/sonar-web/src/main/js/quality-profiles/profile-changelog-view.js rename to server/sonar-web/src/main/js/apps/quality-profiles/profile-changelog-view.js index 0e9083ecb7b..28838846bba 100644 --- a/server/sonar-web/src/main/js/quality-profiles/profile-changelog-view.js +++ b/server/sonar-web/src/main/js/apps/quality-profiles/profile-changelog-view.js @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'templates/quality-profiles' + './templates' ], function () { return Marionette.ItemView.extend({ diff --git a/server/sonar-web/src/main/js/quality-profiles/profile-comparison-view.js b/server/sonar-web/src/main/js/apps/quality-profiles/profile-comparison-view.js similarity index 98% rename from server/sonar-web/src/main/js/quality-profiles/profile-comparison-view.js rename to server/sonar-web/src/main/js/apps/quality-profiles/profile-comparison-view.js index 862ede66deb..d5f5ea37d4b 100644 --- a/server/sonar-web/src/main/js/quality-profiles/profile-comparison-view.js +++ b/server/sonar-web/src/main/js/apps/quality-profiles/profile-comparison-view.js @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'templates/quality-profiles' + './templates' ], function () { return Marionette.ItemView.extend({ diff --git a/server/sonar-web/src/main/js/quality-profiles/profile-details-view.js b/server/sonar-web/src/main/js/apps/quality-profiles/profile-details-view.js similarity index 95% rename from server/sonar-web/src/main/js/quality-profiles/profile-details-view.js rename to server/sonar-web/src/main/js/apps/quality-profiles/profile-details-view.js index 51aa787cb3f..ede00f14d73 100644 --- a/server/sonar-web/src/main/js/quality-profiles/profile-details-view.js +++ b/server/sonar-web/src/main/js/apps/quality-profiles/profile-details-view.js @@ -18,12 +18,12 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'quality-profiles/change-profile-parent-view', - 'quality-profiles/profile-changelog-view', - 'quality-profiles/profile-comparison-view', - 'common/select-list', - 'quality-profiles/helpers', - 'templates/quality-profiles' + './change-profile-parent-view', + './profile-changelog-view', + './profile-comparison-view', + 'components/common/select-list', + './helpers', + './templates' ], function (ChangeProfileParentView, ProfileChangelogView, ProfileComparisonView) { var $ = jQuery; diff --git a/server/sonar-web/src/main/js/quality-profiles/profile-header-view.js b/server/sonar-web/src/main/js/apps/quality-profiles/profile-header-view.js similarity index 94% rename from server/sonar-web/src/main/js/quality-profiles/profile-header-view.js rename to server/sonar-web/src/main/js/apps/quality-profiles/profile-header-view.js index 7b55bfa3d2e..57a5d310736 100644 --- a/server/sonar-web/src/main/js/quality-profiles/profile-header-view.js +++ b/server/sonar-web/src/main/js/apps/quality-profiles/profile-header-view.js @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'quality-profiles/copy-profile-view', - 'quality-profiles/rename-profile-view', - 'quality-profiles/delete-profile-view', - 'templates/quality-profiles' + './copy-profile-view', + './rename-profile-view', + './delete-profile-view', + './templates' ], function (ProfileCopyView, ProfileRenameView, ProfileDeleteView) { var $ = jQuery; diff --git a/server/sonar-web/src/main/js/quality-profiles/profile-view.js b/server/sonar-web/src/main/js/apps/quality-profiles/profile-view.js similarity index 98% rename from server/sonar-web/src/main/js/quality-profiles/profile-view.js rename to server/sonar-web/src/main/js/apps/quality-profiles/profile-view.js index b8c69aba0fb..03e5352e2d0 100644 --- a/server/sonar-web/src/main/js/quality-profiles/profile-view.js +++ b/server/sonar-web/src/main/js/apps/quality-profiles/profile-view.js @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'templates/quality-profiles' + './templates' ], function () { return Marionette.ItemView.extend({ diff --git a/server/sonar-web/src/main/js/quality-profiles/profile.js b/server/sonar-web/src/main/js/apps/quality-profiles/profile.js similarity index 100% rename from server/sonar-web/src/main/js/quality-profiles/profile.js rename to server/sonar-web/src/main/js/apps/quality-profiles/profile.js diff --git a/server/sonar-web/src/main/js/quality-profiles/profiles-view.js b/server/sonar-web/src/main/js/apps/quality-profiles/profiles-view.js similarity index 97% rename from server/sonar-web/src/main/js/quality-profiles/profiles-view.js rename to server/sonar-web/src/main/js/apps/quality-profiles/profiles-view.js index fbf2615bd42..2a433476dcd 100644 --- a/server/sonar-web/src/main/js/quality-profiles/profiles-view.js +++ b/server/sonar-web/src/main/js/apps/quality-profiles/profiles-view.js @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'quality-profiles/profile-view', - 'templates/quality-profiles' + './profile-view', + './templates' ], function (ProfileView) { return Marionette.CompositeView.extend({ diff --git a/server/sonar-web/src/main/js/quality-profiles/profiles.js b/server/sonar-web/src/main/js/apps/quality-profiles/profiles.js similarity index 97% rename from server/sonar-web/src/main/js/quality-profiles/profiles.js rename to server/sonar-web/src/main/js/apps/quality-profiles/profiles.js index 38c0477ca29..8b556ce8aa5 100644 --- a/server/sonar-web/src/main/js/quality-profiles/profiles.js +++ b/server/sonar-web/src/main/js/apps/quality-profiles/profiles.js @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'quality-profiles/profile' + './profile' ], function (Profile) { return Backbone.Collection.extend({ diff --git a/server/sonar-web/src/main/js/quality-profiles/rename-profile-view.js b/server/sonar-web/src/main/js/apps/quality-profiles/rename-profile-view.js similarity index 97% rename from server/sonar-web/src/main/js/quality-profiles/rename-profile-view.js rename to server/sonar-web/src/main/js/apps/quality-profiles/rename-profile-view.js index 023f3a94f78..b61d9d8a794 100644 --- a/server/sonar-web/src/main/js/quality-profiles/rename-profile-view.js +++ b/server/sonar-web/src/main/js/apps/quality-profiles/rename-profile-view.js @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'common/modal-form', - 'templates/quality-profiles' + 'components/common/modal-form', + './templates' ], function (ModalFormView) { var $ = jQuery; diff --git a/server/sonar-web/src/main/js/quality-profiles/restore-built-in-profiles-view.js b/server/sonar-web/src/main/js/apps/quality-profiles/restore-built-in-profiles-view.js similarity index 97% rename from server/sonar-web/src/main/js/quality-profiles/restore-built-in-profiles-view.js rename to server/sonar-web/src/main/js/apps/quality-profiles/restore-built-in-profiles-view.js index 3d86785c579..645197f7b55 100644 --- a/server/sonar-web/src/main/js/quality-profiles/restore-built-in-profiles-view.js +++ b/server/sonar-web/src/main/js/apps/quality-profiles/restore-built-in-profiles-view.js @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'common/modal-form', - 'templates/quality-profiles' + 'components/common/modal-form', + './templates' ], function (ModalFormView) { var $ = jQuery; diff --git a/server/sonar-web/src/main/js/quality-profiles/restore-profile-view.js b/server/sonar-web/src/main/js/apps/quality-profiles/restore-profile-view.js similarity index 94% rename from server/sonar-web/src/main/js/quality-profiles/restore-profile-view.js rename to server/sonar-web/src/main/js/apps/quality-profiles/restore-profile-view.js index 24f7ae3409b..fca5b66476f 100644 --- a/server/sonar-web/src/main/js/quality-profiles/restore-profile-view.js +++ b/server/sonar-web/src/main/js/apps/quality-profiles/restore-profile-view.js @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'common/modal-form', - 'common/file-upload', - 'quality-profiles/profile', - 'templates/quality-profiles' + 'components/common/modal-form', + 'components/common/file-upload', + './profile', + './templates' ], function (ModalFormView, uploader, Profile) { var $ = jQuery; diff --git a/server/sonar-web/src/main/js/quality-profiles/router.js b/server/sonar-web/src/main/js/apps/quality-profiles/router.js similarity index 100% rename from server/sonar-web/src/main/js/quality-profiles/router.js rename to server/sonar-web/src/main/js/apps/quality-profiles/router.js diff --git a/server/sonar-web/src/main/hbs/quality-profiles/quality-profile-changelog.hbs b/server/sonar-web/src/main/js/apps/quality-profiles/templates/quality-profile-changelog.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/quality-profiles/quality-profile-changelog.hbs rename to server/sonar-web/src/main/js/apps/quality-profiles/templates/quality-profile-changelog.hbs diff --git a/server/sonar-web/src/main/hbs/quality-profiles/quality-profile-comparison.hbs b/server/sonar-web/src/main/js/apps/quality-profiles/templates/quality-profile-comparison.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/quality-profiles/quality-profile-comparison.hbs rename to server/sonar-web/src/main/js/apps/quality-profiles/templates/quality-profile-comparison.hbs diff --git a/server/sonar-web/src/main/hbs/quality-profiles/quality-profiles-actions.hbs b/server/sonar-web/src/main/js/apps/quality-profiles/templates/quality-profiles-actions.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/quality-profiles/quality-profiles-actions.hbs rename to server/sonar-web/src/main/js/apps/quality-profiles/templates/quality-profiles-actions.hbs diff --git a/server/sonar-web/src/main/hbs/quality-profiles/quality-profiles-change-profile-parent.hbs b/server/sonar-web/src/main/js/apps/quality-profiles/templates/quality-profiles-change-profile-parent.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/quality-profiles/quality-profiles-change-profile-parent.hbs rename to server/sonar-web/src/main/js/apps/quality-profiles/templates/quality-profiles-change-profile-parent.hbs diff --git a/server/sonar-web/src/main/hbs/quality-profiles/quality-profiles-copy-profile.hbs b/server/sonar-web/src/main/js/apps/quality-profiles/templates/quality-profiles-copy-profile.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/quality-profiles/quality-profiles-copy-profile.hbs rename to server/sonar-web/src/main/js/apps/quality-profiles/templates/quality-profiles-copy-profile.hbs diff --git a/server/sonar-web/src/main/hbs/quality-profiles/quality-profiles-create-profile.hbs b/server/sonar-web/src/main/js/apps/quality-profiles/templates/quality-profiles-create-profile.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/quality-profiles/quality-profiles-create-profile.hbs rename to server/sonar-web/src/main/js/apps/quality-profiles/templates/quality-profiles-create-profile.hbs diff --git a/server/sonar-web/src/main/hbs/quality-profiles/quality-profiles-delete-profile.hbs b/server/sonar-web/src/main/js/apps/quality-profiles/templates/quality-profiles-delete-profile.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/quality-profiles/quality-profiles-delete-profile.hbs rename to server/sonar-web/src/main/js/apps/quality-profiles/templates/quality-profiles-delete-profile.hbs diff --git a/server/sonar-web/src/main/hbs/quality-profiles/quality-profiles-intro.hbs b/server/sonar-web/src/main/js/apps/quality-profiles/templates/quality-profiles-intro.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/quality-profiles/quality-profiles-intro.hbs rename to server/sonar-web/src/main/js/apps/quality-profiles/templates/quality-profiles-intro.hbs diff --git a/server/sonar-web/src/main/hbs/quality-profiles/quality-profiles-layout.hbs b/server/sonar-web/src/main/js/apps/quality-profiles/templates/quality-profiles-layout.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/quality-profiles/quality-profiles-layout.hbs rename to server/sonar-web/src/main/js/apps/quality-profiles/templates/quality-profiles-layout.hbs diff --git a/server/sonar-web/src/main/hbs/quality-profiles/quality-profiles-profile-details.hbs b/server/sonar-web/src/main/js/apps/quality-profiles/templates/quality-profiles-profile-details.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/quality-profiles/quality-profiles-profile-details.hbs rename to server/sonar-web/src/main/js/apps/quality-profiles/templates/quality-profiles-profile-details.hbs diff --git a/server/sonar-web/src/main/hbs/quality-profiles/quality-profiles-profile-header.hbs b/server/sonar-web/src/main/js/apps/quality-profiles/templates/quality-profiles-profile-header.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/quality-profiles/quality-profiles-profile-header.hbs rename to server/sonar-web/src/main/js/apps/quality-profiles/templates/quality-profiles-profile-header.hbs diff --git a/server/sonar-web/src/main/hbs/quality-profiles/quality-profiles-profile.hbs b/server/sonar-web/src/main/js/apps/quality-profiles/templates/quality-profiles-profile.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/quality-profiles/quality-profiles-profile.hbs rename to server/sonar-web/src/main/js/apps/quality-profiles/templates/quality-profiles-profile.hbs diff --git a/server/sonar-web/src/main/hbs/quality-profiles/quality-profiles-profiles-language.hbs b/server/sonar-web/src/main/js/apps/quality-profiles/templates/quality-profiles-profiles-language.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/quality-profiles/quality-profiles-profiles-language.hbs rename to server/sonar-web/src/main/js/apps/quality-profiles/templates/quality-profiles-profiles-language.hbs diff --git a/server/sonar-web/src/main/hbs/quality-profiles/quality-profiles-profiles.hbs b/server/sonar-web/src/main/js/apps/quality-profiles/templates/quality-profiles-profiles.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/quality-profiles/quality-profiles-profiles.hbs rename to server/sonar-web/src/main/js/apps/quality-profiles/templates/quality-profiles-profiles.hbs diff --git a/server/sonar-web/src/main/hbs/quality-profiles/quality-profiles-rename-profile.hbs b/server/sonar-web/src/main/js/apps/quality-profiles/templates/quality-profiles-rename-profile.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/quality-profiles/quality-profiles-rename-profile.hbs rename to server/sonar-web/src/main/js/apps/quality-profiles/templates/quality-profiles-rename-profile.hbs diff --git a/server/sonar-web/src/main/hbs/quality-profiles/quality-profiles-restore-built-in-profiles.hbs b/server/sonar-web/src/main/js/apps/quality-profiles/templates/quality-profiles-restore-built-in-profiles.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/quality-profiles/quality-profiles-restore-built-in-profiles.hbs rename to server/sonar-web/src/main/js/apps/quality-profiles/templates/quality-profiles-restore-built-in-profiles.hbs diff --git a/server/sonar-web/src/main/hbs/quality-profiles/quality-profiles-restore-profile.hbs b/server/sonar-web/src/main/js/apps/quality-profiles/templates/quality-profiles-restore-profile.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/quality-profiles/quality-profiles-restore-profile.hbs rename to server/sonar-web/src/main/js/apps/quality-profiles/templates/quality-profiles-restore-profile.hbs diff --git a/server/sonar-web/src/main/js/source-viewer/app.js b/server/sonar-web/src/main/js/apps/source-viewer/app.js similarity index 97% rename from server/sonar-web/src/main/js/source-viewer/app.js rename to server/sonar-web/src/main/js/apps/source-viewer/app.js index 601bfc44e2e..ded35b07041 100644 --- a/server/sonar-web/src/main/js/source-viewer/app.js +++ b/server/sonar-web/src/main/js/apps/source-viewer/app.js @@ -22,7 +22,7 @@ requirejs.config({ }); requirejs([ - 'source-viewer/viewer' + 'components/source-viewer/main' ], function (SourceViewer) { diff --git a/server/sonar-web/src/main/js/common/file-upload.js b/server/sonar-web/src/main/js/components/common/file-upload.js similarity index 100% rename from server/sonar-web/src/main/js/common/file-upload.js rename to server/sonar-web/src/main/js/components/common/file-upload.js diff --git a/server/sonar-web/src/main/js/common/handlebars-extensions.js b/server/sonar-web/src/main/js/components/common/handlebars-extensions.js similarity index 100% rename from server/sonar-web/src/main/js/common/handlebars-extensions.js rename to server/sonar-web/src/main/js/components/common/handlebars-extensions.js diff --git a/server/sonar-web/src/main/js/common/jquery-isolated-scroll.js b/server/sonar-web/src/main/js/components/common/jquery-isolated-scroll.js similarity index 100% rename from server/sonar-web/src/main/js/common/jquery-isolated-scroll.js rename to server/sonar-web/src/main/js/components/common/jquery-isolated-scroll.js diff --git a/server/sonar-web/src/main/js/common/modal-form.js b/server/sonar-web/src/main/js/components/common/modal-form.js similarity index 97% rename from server/sonar-web/src/main/js/common/modal-form.js rename to server/sonar-web/src/main/js/components/common/modal-form.js index 322610e28b4..8fca522d40d 100644 --- a/server/sonar-web/src/main/js/common/modal-form.js +++ b/server/sonar-web/src/main/js/components/common/modal-form.js @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -define(['common/modals'], function (ModalView) { +define(['components/common/modals'], function (ModalView) { return ModalView.extend({ diff --git a/server/sonar-web/src/main/js/common/modals.js b/server/sonar-web/src/main/js/components/common/modals.js similarity index 100% rename from server/sonar-web/src/main/js/common/modals.js rename to server/sonar-web/src/main/js/components/common/modals.js diff --git a/server/sonar-web/src/main/js/common/processes.js b/server/sonar-web/src/main/js/components/common/processes.js similarity index 100% rename from server/sonar-web/src/main/js/common/processes.js rename to server/sonar-web/src/main/js/components/common/processes.js diff --git a/server/sonar-web/src/main/js/common/select-list.js b/server/sonar-web/src/main/js/components/common/select-list.js similarity index 100% rename from server/sonar-web/src/main/js/common/select-list.js rename to server/sonar-web/src/main/js/components/common/select-list.js diff --git a/server/sonar-web/src/main/js/common/selectable-collection-view.js b/server/sonar-web/src/main/js/components/common/selectable-collection-view.js similarity index 100% rename from server/sonar-web/src/main/js/common/selectable-collection-view.js rename to server/sonar-web/src/main/js/components/common/selectable-collection-view.js diff --git a/server/sonar-web/src/main/hbs/common/_markdown-tips.hbs b/server/sonar-web/src/main/js/components/common/templates/_markdown-tips.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/common/_markdown-tips.hbs rename to server/sonar-web/src/main/js/components/common/templates/_markdown-tips.hbs diff --git a/server/sonar-web/src/main/js/navigator/filters/ajax-select-filters.js b/server/sonar-web/src/main/js/components/navigator/filters/ajax-select-filters.js similarity index 99% rename from server/sonar-web/src/main/js/navigator/filters/ajax-select-filters.js rename to server/sonar-web/src/main/js/components/navigator/filters/ajax-select-filters.js index c354b73b48b..36c07bbe947 100644 --- a/server/sonar-web/src/main/js/navigator/filters/ajax-select-filters.js +++ b/server/sonar-web/src/main/js/components/navigator/filters/ajax-select-filters.js @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'navigator/filters/base-filters', - 'navigator/filters/choice-filters', - 'templates/navigator' + './base-filters', + './choice-filters', + '../templates' ], function (BaseFilters, ChoiceFilters) { var PAGE_SIZE = 100; diff --git a/server/sonar-web/src/main/js/navigator/filters/base-filters.js b/server/sonar-web/src/main/js/components/navigator/filters/base-filters.js similarity index 99% rename from server/sonar-web/src/main/js/navigator/filters/base-filters.js rename to server/sonar-web/src/main/js/components/navigator/filters/base-filters.js index e22b734e45c..e4298597794 100644 --- a/server/sonar-web/src/main/js/navigator/filters/base-filters.js +++ b/server/sonar-web/src/main/js/components/navigator/filters/base-filters.js @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'templates/navigator' + '../templates' ], function () { var Filter = Backbone.Model.extend({ diff --git a/server/sonar-web/src/main/js/navigator/filters/checkbox-filters.js b/server/sonar-web/src/main/js/components/navigator/filters/checkbox-filters.js similarity index 96% rename from server/sonar-web/src/main/js/navigator/filters/checkbox-filters.js rename to server/sonar-web/src/main/js/components/navigator/filters/checkbox-filters.js index 646c5d203ef..8c837802e24 100644 --- a/server/sonar-web/src/main/js/navigator/filters/checkbox-filters.js +++ b/server/sonar-web/src/main/js/components/navigator/filters/checkbox-filters.js @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'navigator/filters/base-filters', - 'templates/navigator' + './base-filters', + '../templates' ], function (BaseFilters) { return BaseFilters.BaseFilterView.extend({ diff --git a/server/sonar-web/src/main/js/navigator/filters/choice-filters.js b/server/sonar-web/src/main/js/components/navigator/filters/choice-filters.js similarity index 99% rename from server/sonar-web/src/main/js/navigator/filters/choice-filters.js rename to server/sonar-web/src/main/js/components/navigator/filters/choice-filters.js index 83899a15b80..31fc08656ba 100644 --- a/server/sonar-web/src/main/js/navigator/filters/choice-filters.js +++ b/server/sonar-web/src/main/js/components/navigator/filters/choice-filters.js @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'navigator/filters/base-filters', - 'templates/navigator' + './base-filters', + '../templates' ], function (BaseFilters) { var DetailsChoiceFilterView = BaseFilters.DetailsFilterView.extend({ diff --git a/server/sonar-web/src/main/js/navigator/filters/favorite-filters.js b/server/sonar-web/src/main/js/components/navigator/filters/favorite-filters.js similarity index 96% rename from server/sonar-web/src/main/js/navigator/filters/favorite-filters.js rename to server/sonar-web/src/main/js/components/navigator/filters/favorite-filters.js index 95292e9a082..a787a89fece 100644 --- a/server/sonar-web/src/main/js/navigator/filters/favorite-filters.js +++ b/server/sonar-web/src/main/js/components/navigator/filters/favorite-filters.js @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'navigator/filters/base-filters', - 'navigator/filters/choice-filters', - 'templates/navigator' + './base-filters', + './choice-filters', + '../templates' ], function (BaseFilters, ChoiceFilters) { var DetailsFavoriteFilterView = BaseFilters.DetailsFilterView.extend({ diff --git a/server/sonar-web/src/main/js/navigator/filters/filter-bar.js b/server/sonar-web/src/main/js/components/navigator/filters/filter-bar.js similarity index 92% rename from server/sonar-web/src/main/js/navigator/filters/filter-bar.js rename to server/sonar-web/src/main/js/components/navigator/filters/filter-bar.js index af8736aedbe..b87da53c1d6 100644 --- a/server/sonar-web/src/main/js/navigator/filters/filter-bar.js +++ b/server/sonar-web/src/main/js/components/navigator/filters/filter-bar.js @@ -19,11 +19,11 @@ */ define( [ - 'navigator/filters/base-filters', - 'navigator/filters/more-criteria-filters', - 'navigator/filters/favorite-filters' + './base-filters', + './more-criteria-filters', + './favorite-filters' ], - function (BaseFilters) { + function (BaseFilters, MoreCriteriaFilters) { return Marionette.CompositeView.extend({ itemViewContainer: '.navigator-filters-list', @@ -136,7 +136,7 @@ define( var disabledFilters = this.collection.where({ enabled: false }); if (disabledFilters.length > 0) { this.moreCriteriaFilter = new BaseFilters.Filter({ - type: require('navigator/filters/more-criteria-filters').MoreCriteriaFilterView, + type: MoreCriteriaFilters.MoreCriteriaFilterView, enabled: true, optional: false, filters: disabledFilters @@ -147,7 +147,7 @@ define( onAfterItemAdded: function (itemView) { - if (itemView.model.get('type') === require('navigator/filters/favorite-filters').FavoriteFilterView) { + if (itemView.model.get('type') === MoreCriteriaFilters.FavoriteFilterView) { jQuery('.navigator-header').addClass('navigator-header-favorite'); } }, @@ -181,7 +181,7 @@ define( changeEnabled: function () { var disabledFilters = _.reject(this.collection.where({ enabled: false }), function (filter) { - return filter.get('type') === require('navigator/filters/more-criteria-filters').MoreCriteriaFilterView; + return filter.get('type') === MoreCriteriaFilters.MoreCriteriaFilterView; }); if (disabledFilters.length === 0) { diff --git a/server/sonar-web/src/main/js/navigator/filters/metric-filters.js b/server/sonar-web/src/main/js/components/navigator/filters/metric-filters.js similarity index 99% rename from server/sonar-web/src/main/js/navigator/filters/metric-filters.js rename to server/sonar-web/src/main/js/components/navigator/filters/metric-filters.js index d296a96259a..cef960f3238 100644 --- a/server/sonar-web/src/main/js/navigator/filters/metric-filters.js +++ b/server/sonar-web/src/main/js/components/navigator/filters/metric-filters.js @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'navigator/filters/base-filters', - 'templates/navigator' + './base-filters', + '../templates' ], function (BaseFilters) { var DetailsMetricFilterView = BaseFilters.DetailsFilterView.extend({ diff --git a/server/sonar-web/src/main/js/navigator/filters/more-criteria-filters.js b/server/sonar-web/src/main/js/components/navigator/filters/more-criteria-filters.js similarity index 96% rename from server/sonar-web/src/main/js/navigator/filters/more-criteria-filters.js rename to server/sonar-web/src/main/js/components/navigator/filters/more-criteria-filters.js index b13242a6668..f2a39f9a218 100644 --- a/server/sonar-web/src/main/js/navigator/filters/more-criteria-filters.js +++ b/server/sonar-web/src/main/js/components/navigator/filters/more-criteria-filters.js @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'navigator/filters/base-filters', - 'navigator/filters/choice-filters', - 'templates/navigator' + './base-filters', + './choice-filters', + '../templates' ], function (BaseFilters, ChoiceFilters) { var DetailsMoreCriteriaFilterView = ChoiceFilters.DetailsChoiceFilterView.extend({ diff --git a/server/sonar-web/src/main/js/navigator/filters/range-filters.js b/server/sonar-web/src/main/js/components/navigator/filters/range-filters.js similarity index 98% rename from server/sonar-web/src/main/js/navigator/filters/range-filters.js rename to server/sonar-web/src/main/js/components/navigator/filters/range-filters.js index 3e13cb6efcc..e46d15594fd 100644 --- a/server/sonar-web/src/main/js/navigator/filters/range-filters.js +++ b/server/sonar-web/src/main/js/components/navigator/filters/range-filters.js @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'navigator/filters/base-filters', - 'templates/navigator' + './base-filters', + '../templates' ], function (BaseFilters) { var DetailsRangeFilterView = BaseFilters.DetailsFilterView.extend({ diff --git a/server/sonar-web/src/main/js/navigator/filters/string-filters.js b/server/sonar-web/src/main/js/components/navigator/filters/string-filters.js similarity index 97% rename from server/sonar-web/src/main/js/navigator/filters/string-filters.js rename to server/sonar-web/src/main/js/components/navigator/filters/string-filters.js index 41d76e81c35..c667ccc73e6 100644 --- a/server/sonar-web/src/main/js/navigator/filters/string-filters.js +++ b/server/sonar-web/src/main/js/components/navigator/filters/string-filters.js @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'navigator/filters/base-filters', - 'templates/navigator' + './base-filters', + '../templates' ], function (BaseFilters) { var DetailsStringFilterView = BaseFilters.DetailsFilterView.extend({ diff --git a/server/sonar-web/src/main/hbs/navigator/ajax-select-filter.hbs b/server/sonar-web/src/main/js/components/navigator/templates/ajax-select-filter.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/navigator/ajax-select-filter.hbs rename to server/sonar-web/src/main/js/components/navigator/templates/ajax-select-filter.hbs diff --git a/server/sonar-web/src/main/hbs/navigator/base-details-filter.hbs b/server/sonar-web/src/main/js/components/navigator/templates/base-details-filter.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/navigator/base-details-filter.hbs rename to server/sonar-web/src/main/js/components/navigator/templates/base-details-filter.hbs diff --git a/server/sonar-web/src/main/hbs/navigator/base-filter.hbs b/server/sonar-web/src/main/js/components/navigator/templates/base-filter.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/navigator/base-filter.hbs rename to server/sonar-web/src/main/js/components/navigator/templates/base-filter.hbs diff --git a/server/sonar-web/src/main/hbs/navigator/checkbox-filter.hbs b/server/sonar-web/src/main/js/components/navigator/templates/checkbox-filter.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/navigator/checkbox-filter.hbs rename to server/sonar-web/src/main/js/components/navigator/templates/checkbox-filter.hbs diff --git a/server/sonar-web/src/main/hbs/navigator/choice-filter-item.hbs b/server/sonar-web/src/main/js/components/navigator/templates/choice-filter-item.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/navigator/choice-filter-item.hbs rename to server/sonar-web/src/main/js/components/navigator/templates/choice-filter-item.hbs diff --git a/server/sonar-web/src/main/hbs/navigator/choice-filter-template.hbs b/server/sonar-web/src/main/js/components/navigator/templates/choice-filter-template.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/navigator/choice-filter-template.hbs rename to server/sonar-web/src/main/js/components/navigator/templates/choice-filter-template.hbs diff --git a/server/sonar-web/src/main/hbs/navigator/choice-filter.hbs b/server/sonar-web/src/main/js/components/navigator/templates/choice-filter.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/navigator/choice-filter.hbs rename to server/sonar-web/src/main/js/components/navigator/templates/choice-filter.hbs diff --git a/server/sonar-web/src/main/hbs/navigator/favorite-details-filter.hbs b/server/sonar-web/src/main/js/components/navigator/templates/favorite-details-filter.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/navigator/favorite-details-filter.hbs rename to server/sonar-web/src/main/js/components/navigator/templates/favorite-details-filter.hbs diff --git a/server/sonar-web/src/main/hbs/navigator/favorite-filter.hbs b/server/sonar-web/src/main/js/components/navigator/templates/favorite-filter.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/navigator/favorite-filter.hbs rename to server/sonar-web/src/main/js/components/navigator/templates/favorite-filter.hbs diff --git a/server/sonar-web/src/main/hbs/navigator/metric-filter.hbs b/server/sonar-web/src/main/js/components/navigator/templates/metric-filter.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/navigator/metric-filter.hbs rename to server/sonar-web/src/main/js/components/navigator/templates/metric-filter.hbs diff --git a/server/sonar-web/src/main/hbs/navigator/more-criteria-details-filter.hbs b/server/sonar-web/src/main/js/components/navigator/templates/more-criteria-details-filter.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/navigator/more-criteria-details-filter.hbs rename to server/sonar-web/src/main/js/components/navigator/templates/more-criteria-details-filter.hbs diff --git a/server/sonar-web/src/main/hbs/navigator/more-criteria-filter.hbs b/server/sonar-web/src/main/js/components/navigator/templates/more-criteria-filter.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/navigator/more-criteria-filter.hbs rename to server/sonar-web/src/main/js/components/navigator/templates/more-criteria-filter.hbs diff --git a/server/sonar-web/src/main/hbs/navigator/range-filter.hbs b/server/sonar-web/src/main/js/components/navigator/templates/range-filter.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/navigator/range-filter.hbs rename to server/sonar-web/src/main/js/components/navigator/templates/range-filter.hbs diff --git a/server/sonar-web/src/main/hbs/navigator/string-filter.hbs b/server/sonar-web/src/main/js/components/navigator/templates/string-filter.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/navigator/string-filter.hbs rename to server/sonar-web/src/main/js/components/navigator/templates/string-filter.hbs diff --git a/server/sonar-web/src/main/js/source-viewer/header.js b/server/sonar-web/src/main/js/components/source-viewer/header.js similarity index 96% rename from server/sonar-web/src/main/js/source-viewer/header.js rename to server/sonar-web/src/main/js/components/source-viewer/header.js index 245c0b351ca..e241c886c09 100644 --- a/server/sonar-web/src/main/js/source-viewer/header.js +++ b/server/sonar-web/src/main/js/components/source-viewer/header.js @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'source-viewer/more-actions', - 'source-viewer/measures-overlay', - 'templates/source-viewer' + './more-actions', + './measures-overlay', + './templates' ], function (MoreActionsView, MeasuresOverlay) { var $ = jQuery, diff --git a/server/sonar-web/src/main/js/source-viewer/viewer.js b/server/sonar-web/src/main/js/components/source-viewer/main.js similarity index 98% rename from server/sonar-web/src/main/js/source-viewer/viewer.js rename to server/sonar-web/src/main/js/components/source-viewer/main.js index 128e2f077dd..07dfc55580d 100644 --- a/server/sonar-web/src/main/js/source-viewer/viewer.js +++ b/server/sonar-web/src/main/js/components/source-viewer/main.js @@ -18,16 +18,16 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'source-viewer/source', - 'issue/models/issue', - 'issue/collections/issues', - 'issue/issue-view', - 'source-viewer/header', - 'source-viewer/popups/scm-popup', - 'source-viewer/popups/coverage-popup', - 'source-viewer/popups/duplication-popup', - 'source-viewer/popups/line-actions-popup', - 'templates/source-viewer' + './source', + 'components/issue/models/issue', + 'components/issue/collections/issues', + 'components/issue/issue-view', + './header', + './popups/scm-popup', + './popups/coverage-popup', + './popups/duplication-popup', + './popups/line-actions-popup', + './templates' ], function (Source, Issue, diff --git a/server/sonar-web/src/main/js/source-viewer/measures-overlay.js b/server/sonar-web/src/main/js/components/source-viewer/measures-overlay.js similarity index 99% rename from server/sonar-web/src/main/js/source-viewer/measures-overlay.js rename to server/sonar-web/src/main/js/components/source-viewer/measures-overlay.js index eec15c61f47..f9f3b5cd9e5 100644 --- a/server/sonar-web/src/main/js/source-viewer/measures-overlay.js +++ b/server/sonar-web/src/main/js/components/source-viewer/measures-overlay.js @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'common/modals', - 'templates/source-viewer' + 'components/common/modals', + './templates' ], function (ModalView) { var $ = jQuery; diff --git a/server/sonar-web/src/main/js/source-viewer/more-actions.js b/server/sonar-web/src/main/js/components/source-viewer/more-actions.js similarity index 95% rename from server/sonar-web/src/main/js/source-viewer/more-actions.js rename to server/sonar-web/src/main/js/components/source-viewer/more-actions.js index 0d84d93c468..c3e7698b8f9 100644 --- a/server/sonar-web/src/main/js/source-viewer/more-actions.js +++ b/server/sonar-web/src/main/js/components/source-viewer/more-actions.js @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'workspace/main', - 'templates/source-viewer' + 'components/workspace/main', + './templates' ], function (Workspace) { var $ = jQuery; @@ -54,7 +54,7 @@ define([ openInWorkspace: function () { var uuid = this.options.parent.model.id; if (Workspace == null) { - Workspace = require('workspace/main'); + Workspace = require('components/workspace/main'); } Workspace.openComponent({ uuid: uuid }); }, diff --git a/server/sonar-web/src/main/js/source-viewer/popups/coverage-popup.js b/server/sonar-web/src/main/js/components/source-viewer/popups/coverage-popup.js similarity index 94% rename from server/sonar-web/src/main/js/source-viewer/popups/coverage-popup.js rename to server/sonar-web/src/main/js/components/source-viewer/popups/coverage-popup.js index 556ec1636d0..d3247cdd9f0 100644 --- a/server/sonar-web/src/main/js/source-viewer/popups/coverage-popup.js +++ b/server/sonar-web/src/main/js/components/source-viewer/popups/coverage-popup.js @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'common/popup', - 'workspace/main', - 'templates/source-viewer' + 'components/common/popup', + 'components/workspace/main', + '../templates' ], function (Popup, Workspace) { var $ = jQuery; @@ -40,7 +40,7 @@ define([ goToFile: function (e) { var uuid = $(e.currentTarget).data('uuid'); if (Workspace == null) { - Workspace = require('workspace/main'); + Workspace = require('components/workspace/main'); } Workspace.openComponent({ uuid: uuid }); }, diff --git a/server/sonar-web/src/main/js/source-viewer/popups/duplication-popup.js b/server/sonar-web/src/main/js/components/source-viewer/popups/duplication-popup.js similarity index 94% rename from server/sonar-web/src/main/js/source-viewer/popups/duplication-popup.js rename to server/sonar-web/src/main/js/components/source-viewer/popups/duplication-popup.js index 73dbec36ed8..235d224770f 100644 --- a/server/sonar-web/src/main/js/source-viewer/popups/duplication-popup.js +++ b/server/sonar-web/src/main/js/components/source-viewer/popups/duplication-popup.js @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'common/popup', - 'workspace/main', - 'templates/source-viewer' + 'components/common/popup', + 'components/workspace/main', + '../templates' ], function (Popup, Workspace) { var $ = jQuery; @@ -36,7 +36,7 @@ define([ var uuid = $(e.currentTarget).data('uuid'), line = $(e.currentTarget).data('line'); if (Workspace == null) { - Workspace = require('workspace/main'); + Workspace = require('components/workspace/main'); } Workspace.openComponent({ uuid: uuid, line: line }); }, diff --git a/server/sonar-web/src/main/js/source-viewer/popups/line-actions-popup.js b/server/sonar-web/src/main/js/components/source-viewer/popups/line-actions-popup.js similarity index 95% rename from server/sonar-web/src/main/js/source-viewer/popups/line-actions-popup.js rename to server/sonar-web/src/main/js/components/source-viewer/popups/line-actions-popup.js index 1d456815dbc..0839f4339df 100644 --- a/server/sonar-web/src/main/js/source-viewer/popups/line-actions-popup.js +++ b/server/sonar-web/src/main/js/components/source-viewer/popups/line-actions-popup.js @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'common/popup', - 'issue/manual-issue-view', - 'templates/source-viewer' + 'components/common/popup', + 'components/issue/manual-issue-view', + '../templates' ], function (Popup, ManualIssueView) { return Popup.extend({ diff --git a/server/sonar-web/src/main/js/source-viewer/popups/scm-popup.js b/server/sonar-web/src/main/js/components/source-viewer/popups/scm-popup.js similarity index 96% rename from server/sonar-web/src/main/js/source-viewer/popups/scm-popup.js rename to server/sonar-web/src/main/js/components/source-viewer/popups/scm-popup.js index 309a77bd071..bdbaea22f0f 100644 --- a/server/sonar-web/src/main/js/source-viewer/popups/scm-popup.js +++ b/server/sonar-web/src/main/js/components/source-viewer/popups/scm-popup.js @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'common/popup', - 'templates/source-viewer' + 'components/common/popup', + '../templates' ], function (Popup) { return Popup.extend({ diff --git a/server/sonar-web/src/main/js/source-viewer/source.js b/server/sonar-web/src/main/js/components/source-viewer/source.js similarity index 100% rename from server/sonar-web/src/main/js/source-viewer/source.js rename to server/sonar-web/src/main/js/components/source-viewer/source.js diff --git a/server/sonar-web/src/main/hbs/source-viewer/measures/_source-viewer-measures-all.hbs b/server/sonar-web/src/main/js/components/source-viewer/templates/measures/_source-viewer-measures-all.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/source-viewer/measures/_source-viewer-measures-all.hbs rename to server/sonar-web/src/main/js/components/source-viewer/templates/measures/_source-viewer-measures-all.hbs diff --git a/server/sonar-web/src/main/hbs/source-viewer/measures/_source-viewer-measures-coverage.hbs b/server/sonar-web/src/main/js/components/source-viewer/templates/measures/_source-viewer-measures-coverage.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/source-viewer/measures/_source-viewer-measures-coverage.hbs rename to server/sonar-web/src/main/js/components/source-viewer/templates/measures/_source-viewer-measures-coverage.hbs diff --git a/server/sonar-web/src/main/hbs/source-viewer/measures/_source-viewer-measures-duplications.hbs b/server/sonar-web/src/main/js/components/source-viewer/templates/measures/_source-viewer-measures-duplications.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/source-viewer/measures/_source-viewer-measures-duplications.hbs rename to server/sonar-web/src/main/js/components/source-viewer/templates/measures/_source-viewer-measures-duplications.hbs diff --git a/server/sonar-web/src/main/hbs/source-viewer/measures/_source-viewer-measures-issues.hbs b/server/sonar-web/src/main/js/components/source-viewer/templates/measures/_source-viewer-measures-issues.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/source-viewer/measures/_source-viewer-measures-issues.hbs rename to server/sonar-web/src/main/js/components/source-viewer/templates/measures/_source-viewer-measures-issues.hbs diff --git a/server/sonar-web/src/main/hbs/source-viewer/measures/_source-viewer-measures-lines.hbs b/server/sonar-web/src/main/js/components/source-viewer/templates/measures/_source-viewer-measures-lines.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/source-viewer/measures/_source-viewer-measures-lines.hbs rename to server/sonar-web/src/main/js/components/source-viewer/templates/measures/_source-viewer-measures-lines.hbs diff --git a/server/sonar-web/src/main/hbs/source-viewer/measures/_source-viewer-measures-test-cases.hbs b/server/sonar-web/src/main/js/components/source-viewer/templates/measures/_source-viewer-measures-test-cases.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/source-viewer/measures/_source-viewer-measures-test-cases.hbs rename to server/sonar-web/src/main/js/components/source-viewer/templates/measures/_source-viewer-measures-test-cases.hbs diff --git a/server/sonar-web/src/main/hbs/source-viewer/measures/_source-viewer-measures-tests.hbs b/server/sonar-web/src/main/js/components/source-viewer/templates/measures/_source-viewer-measures-tests.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/source-viewer/measures/_source-viewer-measures-tests.hbs rename to server/sonar-web/src/main/js/components/source-viewer/templates/measures/_source-viewer-measures-tests.hbs diff --git a/server/sonar-web/src/main/hbs/source-viewer/source-viewer-coverage-popup.hbs b/server/sonar-web/src/main/js/components/source-viewer/templates/source-viewer-coverage-popup.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/source-viewer/source-viewer-coverage-popup.hbs rename to server/sonar-web/src/main/js/components/source-viewer/templates/source-viewer-coverage-popup.hbs diff --git a/server/sonar-web/src/main/hbs/source-viewer/source-viewer-duplication-popup.hbs b/server/sonar-web/src/main/js/components/source-viewer/templates/source-viewer-duplication-popup.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/source-viewer/source-viewer-duplication-popup.hbs rename to server/sonar-web/src/main/js/components/source-viewer/templates/source-viewer-duplication-popup.hbs diff --git a/server/sonar-web/src/main/hbs/source-viewer/source-viewer-header.hbs b/server/sonar-web/src/main/js/components/source-viewer/templates/source-viewer-header.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/source-viewer/source-viewer-header.hbs rename to server/sonar-web/src/main/js/components/source-viewer/templates/source-viewer-header.hbs diff --git a/server/sonar-web/src/main/hbs/source-viewer/source-viewer-line-options-popup.hbs b/server/sonar-web/src/main/js/components/source-viewer/templates/source-viewer-line-options-popup.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/source-viewer/source-viewer-line-options-popup.hbs rename to server/sonar-web/src/main/js/components/source-viewer/templates/source-viewer-line-options-popup.hbs diff --git a/server/sonar-web/src/main/hbs/source-viewer/source-viewer-measures.hbs b/server/sonar-web/src/main/js/components/source-viewer/templates/source-viewer-measures.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/source-viewer/source-viewer-measures.hbs rename to server/sonar-web/src/main/js/components/source-viewer/templates/source-viewer-measures.hbs diff --git a/server/sonar-web/src/main/hbs/source-viewer/source-viewer-more-actions.hbs b/server/sonar-web/src/main/js/components/source-viewer/templates/source-viewer-more-actions.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/source-viewer/source-viewer-more-actions.hbs rename to server/sonar-web/src/main/js/components/source-viewer/templates/source-viewer-more-actions.hbs diff --git a/server/sonar-web/src/main/hbs/source-viewer/source-viewer-scm-popup.hbs b/server/sonar-web/src/main/js/components/source-viewer/templates/source-viewer-scm-popup.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/source-viewer/source-viewer-scm-popup.hbs rename to server/sonar-web/src/main/js/components/source-viewer/templates/source-viewer-scm-popup.hbs diff --git a/server/sonar-web/src/main/hbs/source-viewer/source-viewer.hbs b/server/sonar-web/src/main/js/components/source-viewer/templates/source-viewer.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/source-viewer/source-viewer.hbs rename to server/sonar-web/src/main/js/components/source-viewer/templates/source-viewer.hbs diff --git a/server/sonar-web/src/main/js/workspace/main.js b/server/sonar-web/src/main/js/components/workspace/main.js similarity index 96% rename from server/sonar-web/src/main/js/workspace/main.js rename to server/sonar-web/src/main/js/components/workspace/main.js index 6a468b36a7f..8b4be12009a 100644 --- a/server/sonar-web/src/main/js/workspace/main.js +++ b/server/sonar-web/src/main/js/components/workspace/main.js @@ -18,11 +18,11 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'workspace/models/item', - 'workspace/models/items', - 'workspace/views/items-view', - 'workspace/views/viewer-view', - 'workspace/views/rule-view' + './models/item', + './models/items', + './views/items-view', + './views/viewer-view', + './views/rule-view' ], function (Item, Items, ItemsView, ViewerView, RuleView) { var $ = jQuery, diff --git a/server/sonar-web/src/main/js/workspace/models/item.js b/server/sonar-web/src/main/js/components/workspace/models/item.js similarity index 100% rename from server/sonar-web/src/main/js/workspace/models/item.js rename to server/sonar-web/src/main/js/components/workspace/models/item.js diff --git a/server/sonar-web/src/main/js/workspace/models/items.js b/server/sonar-web/src/main/js/components/workspace/models/items.js similarity index 97% rename from server/sonar-web/src/main/js/workspace/models/items.js rename to server/sonar-web/src/main/js/components/workspace/models/items.js index 7a4bde3bd02..dfed439bb52 100644 --- a/server/sonar-web/src/main/js/workspace/models/items.js +++ b/server/sonar-web/src/main/js/components/workspace/models/items.js @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -define(['workspace/models/item'], function (Item) { +define(['./item'], function (Item) { var STORAGE_KEY = 'sonarqube-workspace'; diff --git a/server/sonar-web/src/main/hbs/workspace/workspace-item.hbs b/server/sonar-web/src/main/js/components/workspace/templates/workspace-item.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/workspace/workspace-item.hbs rename to server/sonar-web/src/main/js/components/workspace/templates/workspace-item.hbs diff --git a/server/sonar-web/src/main/hbs/workspace/workspace-items.hbs b/server/sonar-web/src/main/js/components/workspace/templates/workspace-items.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/workspace/workspace-items.hbs rename to server/sonar-web/src/main/js/components/workspace/templates/workspace-items.hbs diff --git a/server/sonar-web/src/main/hbs/workspace/workspace-rule.hbs b/server/sonar-web/src/main/js/components/workspace/templates/workspace-rule.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/workspace/workspace-rule.hbs rename to server/sonar-web/src/main/js/components/workspace/templates/workspace-rule.hbs diff --git a/server/sonar-web/src/main/hbs/workspace/workspace-viewer-header.hbs b/server/sonar-web/src/main/js/components/workspace/templates/workspace-viewer-header.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/workspace/workspace-viewer-header.hbs rename to server/sonar-web/src/main/js/components/workspace/templates/workspace-viewer-header.hbs diff --git a/server/sonar-web/src/main/hbs/workspace/workspace-viewer.hbs b/server/sonar-web/src/main/js/components/workspace/templates/workspace-viewer.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/workspace/workspace-viewer.hbs rename to server/sonar-web/src/main/js/components/workspace/templates/workspace-viewer.hbs diff --git a/server/sonar-web/src/main/js/workspace/views/base-viewer-view.js b/server/sonar-web/src/main/js/components/workspace/views/base-viewer-view.js similarity index 97% rename from server/sonar-web/src/main/js/workspace/views/base-viewer-view.js rename to server/sonar-web/src/main/js/components/workspace/views/base-viewer-view.js index 20396a7cb51..761b9887184 100644 --- a/server/sonar-web/src/main/js/workspace/views/base-viewer-view.js +++ b/server/sonar-web/src/main/js/components/workspace/views/base-viewer-view.js @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'workspace/views/viewer-header-view' + './viewer-header-view' ], function (HeaderView) { return Marionette.Layout.extend({ diff --git a/server/sonar-web/src/main/js/workspace/views/item-view.js b/server/sonar-web/src/main/js/components/workspace/views/item-view.js similarity index 98% rename from server/sonar-web/src/main/js/workspace/views/item-view.js rename to server/sonar-web/src/main/js/components/workspace/views/item-view.js index ad593a73905..17a67af8835 100644 --- a/server/sonar-web/src/main/js/workspace/views/item-view.js +++ b/server/sonar-web/src/main/js/components/workspace/views/item-view.js @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'templates/workspace' + '../templates' ], function () { return Marionette.ItemView.extend({ diff --git a/server/sonar-web/src/main/js/workspace/views/items-view.js b/server/sonar-web/src/main/js/components/workspace/views/items-view.js similarity index 95% rename from server/sonar-web/src/main/js/workspace/views/items-view.js rename to server/sonar-web/src/main/js/components/workspace/views/items-view.js index e6c721bf089..a83eeb0f3e8 100644 --- a/server/sonar-web/src/main/js/workspace/views/items-view.js +++ b/server/sonar-web/src/main/js/components/workspace/views/items-view.js @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'workspace/views/item-view', - 'templates/workspace' + './item-view', + '../templates' ], function (ItemView) { return Marionette.CompositeView.extend({ diff --git a/server/sonar-web/src/main/js/workspace/views/rule-view.js b/server/sonar-web/src/main/js/components/workspace/views/rule-view.js similarity index 96% rename from server/sonar-web/src/main/js/workspace/views/rule-view.js rename to server/sonar-web/src/main/js/components/workspace/views/rule-view.js index 2bb983ad1de..4b4a498244b 100644 --- a/server/sonar-web/src/main/js/workspace/views/rule-view.js +++ b/server/sonar-web/src/main/js/components/workspace/views/rule-view.js @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'workspace/views/base-viewer-view', - 'templates/workspace' + './base-viewer-view', + '../templates' ], function (BaseView) { return BaseView.extend({ diff --git a/server/sonar-web/src/main/js/workspace/views/viewer-header-view.js b/server/sonar-web/src/main/js/components/workspace/views/viewer-header-view.js similarity index 99% rename from server/sonar-web/src/main/js/workspace/views/viewer-header-view.js rename to server/sonar-web/src/main/js/components/workspace/views/viewer-header-view.js index 4f15baf29b2..b0705fb724a 100644 --- a/server/sonar-web/src/main/js/workspace/views/viewer-header-view.js +++ b/server/sonar-web/src/main/js/components/workspace/views/viewer-header-view.js @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'templates/workspace' + '../templates' ], function () { var $ = jQuery; diff --git a/server/sonar-web/src/main/js/workspace/views/viewer-view.js b/server/sonar-web/src/main/js/components/workspace/views/viewer-view.js similarity index 92% rename from server/sonar-web/src/main/js/workspace/views/viewer-view.js rename to server/sonar-web/src/main/js/components/workspace/views/viewer-view.js index 171186f6179..0de74ce1519 100644 --- a/server/sonar-web/src/main/js/workspace/views/viewer-view.js +++ b/server/sonar-web/src/main/js/components/workspace/views/viewer-view.js @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ define([ - 'workspace/views/base-viewer-view', - 'source-viewer/viewer', - 'templates/workspace' + './base-viewer-view', + 'components/source-viewer/main', + '../templates' ], function (BaseView, SourceViewer) { return BaseView.extend({ @@ -33,7 +33,7 @@ define([ showViewer: function () { if (SourceViewer == null) { - SourceViewer = require('source-viewer/viewer'); + SourceViewer = require('components/source-viewer/main'); } var that = this, viewer = new SourceViewer(), diff --git a/server/sonar-web/src/main/js/application.js b/server/sonar-web/src/main/js/libs/application.js similarity index 100% rename from server/sonar-web/src/main/js/application.js rename to server/sonar-web/src/main/js/libs/application.js diff --git a/server/sonar-web/src/main/js/csv.js b/server/sonar-web/src/main/js/libs/csv.js similarity index 100% rename from server/sonar-web/src/main/js/csv.js rename to server/sonar-web/src/main/js/libs/csv.js diff --git a/server/sonar-web/src/main/js/dashboard.js b/server/sonar-web/src/main/js/libs/dashboard.js similarity index 100% rename from server/sonar-web/src/main/js/dashboard.js rename to server/sonar-web/src/main/js/libs/dashboard.js diff --git a/server/sonar-web/src/main/js/graphics/barchart.js b/server/sonar-web/src/main/js/libs/graphics/barchart.js similarity index 100% rename from server/sonar-web/src/main/js/graphics/barchart.js rename to server/sonar-web/src/main/js/libs/graphics/barchart.js diff --git a/server/sonar-web/src/main/js/graphics/pie-chart.js b/server/sonar-web/src/main/js/libs/graphics/pie-chart.js similarity index 100% rename from server/sonar-web/src/main/js/graphics/pie-chart.js rename to server/sonar-web/src/main/js/libs/graphics/pie-chart.js diff --git a/server/sonar-web/src/main/js/recent-history.js b/server/sonar-web/src/main/js/libs/recent-history.js similarity index 100% rename from server/sonar-web/src/main/js/recent-history.js rename to server/sonar-web/src/main/js/libs/recent-history.js diff --git a/server/sonar-web/src/main/js/libs/require.js b/server/sonar-web/src/main/js/libs/require.js new file mode 100644 index 00000000000..7bf4ea9146d --- /dev/null +++ b/server/sonar-web/src/main/js/libs/require.js @@ -0,0 +1,2083 @@ +/** vim: et:ts=4:sw=4:sts=4 + * @license RequireJS 2.1.17 Copyright (c) 2010-2015, The Dojo Foundation All Rights Reserved. + * Available via the MIT or new BSD license. + * see: http://github.com/jrburke/requirejs for details + */ +//Not using strict: uneven strict support in browsers, #392, and causes +//problems with requirejs.exec()/transpiler plugins that may not be strict. +/*jslint regexp: true, nomen: true, sloppy: true */ +/*global window, navigator, document, importScripts, setTimeout, opera */ + +var requirejs, require, define; +(function (global) { + var req, s, head, baseElement, dataMain, src, + interactiveScript, currentlyAddingScript, mainScript, subPath, + version = '2.1.17', + commentRegExp = /(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/mg, + cjsRequireRegExp = /[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g, + jsSuffixRegExp = /\.js$/, + currDirRegExp = /^\.\//, + op = Object.prototype, + ostring = op.toString, + hasOwn = op.hasOwnProperty, + ap = Array.prototype, + apsp = ap.splice, + isBrowser = !!(typeof window !== 'undefined' && typeof navigator !== 'undefined' && window.document), + isWebWorker = !isBrowser && typeof importScripts !== 'undefined', + //PS3 indicates loaded and complete, but need to wait for complete + //specifically. Sequence is 'loading', 'loaded', execution, + // then 'complete'. The UA check is unfortunate, but not sure how + //to feature test w/o causing perf issues. + readyRegExp = isBrowser && navigator.platform === 'PLAYSTATION 3' ? + /^complete$/ : /^(complete|loaded)$/, + defContextName = '_', + //Oh the tragedy, detecting opera. See the usage of isOpera for reason. + isOpera = typeof opera !== 'undefined' && opera.toString() === '[object Opera]', + contexts = {}, + cfg = {}, + globalDefQueue = [], + useInteractive = false; + + function isFunction(it) { + return ostring.call(it) === '[object Function]'; + } + + function isArray(it) { + return ostring.call(it) === '[object Array]'; + } + + /** + * Helper function for iterating over an array. If the func returns + * a true value, it will break out of the loop. + */ + function each(ary, func) { + if (ary) { + var i; + for (i = 0; i < ary.length; i += 1) { + if (ary[i] && func(ary[i], i, ary)) { + break; + } + } + } + } + + /** + * Helper function for iterating over an array backwards. If the func + * returns a true value, it will break out of the loop. + */ + function eachReverse(ary, func) { + if (ary) { + var i; + for (i = ary.length - 1; i > -1; i -= 1) { + if (ary[i] && func(ary[i], i, ary)) { + break; + } + } + } + } + + function hasProp(obj, prop) { + return hasOwn.call(obj, prop); + } + + function getOwn(obj, prop) { + return hasProp(obj, prop) && obj[prop]; + } + + /** + * Cycles over properties in an object and calls a function for each + * property value. If the function returns a truthy value, then the + * iteration is stopped. + */ + function eachProp(obj, func) { + var prop; + for (prop in obj) { + if (hasProp(obj, prop)) { + if (func(obj[prop], prop)) { + break; + } + } + } + } + + /** + * Simple function to mix in properties from source into target, + * but only if target does not already have a property of the same name. + */ + function mixin(target, source, force, deepStringMixin) { + if (source) { + eachProp(source, function (value, prop) { + if (force || !hasProp(target, prop)) { + if (deepStringMixin && typeof value === 'object' && value && + !isArray(value) && !isFunction(value) && + !(value instanceof RegExp)) { + + if (!target[prop]) { + target[prop] = {}; + } + mixin(target[prop], value, force, deepStringMixin); + } else { + target[prop] = value; + } + } + }); + } + return target; + } + + //Similar to Function.prototype.bind, but the 'this' object is specified + //first, since it is easier to read/figure out what 'this' will be. + function bind(obj, fn) { + return function () { + return fn.apply(obj, arguments); + }; + } + + function scripts() { + return document.getElementsByTagName('script'); + } + + function defaultOnError(err) { + throw err; + } + + //Allow getting a global that is expressed in + //dot notation, like 'a.b.c'. + function getGlobal(value) { + if (!value) { + return value; + } + var g = global; + each(value.split('.'), function (part) { + g = g[part]; + }); + return g; + } + + /** + * Constructs an error with a pointer to an URL with more information. + * @param {String} id the error ID that maps to an ID on a web page. + * @param {String} message human readable error. + * @param {Error} [err] the original error, if there is one. + * + * @returns {Error} + */ + function makeError(id, msg, err, requireModules) { + var e = new Error(msg + '\nhttp://requirejs.org/docs/errors.html#' + id); + e.requireType = id; + e.requireModules = requireModules; + if (err) { + e.originalError = err; + } + return e; + } + + if (typeof define !== 'undefined') { + //If a define is already in play via another AMD loader, + //do not overwrite. + return; + } + + if (typeof requirejs !== 'undefined') { + if (isFunction(requirejs)) { + //Do not overwrite an existing requirejs instance. + return; + } + cfg = requirejs; + requirejs = undefined; + } + + //Allow for a require config object + if (typeof require !== 'undefined' && !isFunction(require)) { + //assume it is a config object. + cfg = require; + require = undefined; + } + + function newContext(contextName) { + var inCheckLoaded, Module, context, handlers, + checkLoadedTimeoutId, + config = { + //Defaults. Do not set a default for map + //config to speed up normalize(), which + //will run faster if there is no default. + waitSeconds: 7, + baseUrl: './', + paths: {}, + bundles: {}, + pkgs: {}, + shim: {}, + config: {} + }, + registry = {}, + //registry of just enabled modules, to speed + //cycle breaking code when lots of modules + //are registered, but not activated. + enabledRegistry = {}, + undefEvents = {}, + defQueue = [], + defined = {}, + urlFetched = {}, + bundlesMap = {}, + requireCounter = 1, + unnormalizedCounter = 1; + + /** + * Trims the . and .. from an array of path segments. + * It will keep a leading path segment if a .. will become + * the first path segment, to help with module name lookups, + * which act like paths, but can be remapped. But the end result, + * all paths that use this function should look normalized. + * NOTE: this method MODIFIES the input array. + * @param {Array} ary the array of path segments. + */ + function trimDots(ary) { + var i, part; + for (i = 0; i < ary.length; i++) { + part = ary[i]; + if (part === '.') { + ary.splice(i, 1); + i -= 1; + } else if (part === '..') { + // If at the start, or previous value is still .., + // keep them so that when converted to a path it may + // still work when converted to a path, even though + // as an ID it is less than ideal. In larger point + // releases, may be better to just kick out an error. + if (i === 0 || (i === 1 && ary[2] === '..') || ary[i - 1] === '..') { + continue; + } else if (i > 0) { + ary.splice(i - 1, 2); + i -= 2; + } + } + } + } + + /** + * Given a relative module name, like ./something, normalize it to + * a real name that can be mapped to a path. + * @param {String} name the relative name + * @param {String} baseName a real name that the name arg is relative + * to. + * @param {Boolean} applyMap apply the map config to the value. Should + * only be done if this normalization is for a dependency ID. + * @returns {String} normalized name + */ + function normalize(name, baseName, applyMap) { + var pkgMain, mapValue, nameParts, i, j, nameSegment, lastIndex, + foundMap, foundI, foundStarMap, starI, normalizedBaseParts, + baseParts = (baseName && baseName.split('/')), + map = config.map, + starMap = map && map['*']; + + //Adjust any relative paths. + if (name) { + name = name.split('/'); + lastIndex = name.length - 1; + + // If wanting node ID compatibility, strip .js from end + // of IDs. Have to do this here, and not in nameToUrl + // because node allows either .js or non .js to map + // to same file. + if (config.nodeIdCompat && jsSuffixRegExp.test(name[lastIndex])) { + name[lastIndex] = name[lastIndex].replace(jsSuffixRegExp, ''); + } + + // Starts with a '.' so need the baseName + if (name[0].charAt(0) === '.' && baseParts) { + //Convert baseName to array, and lop off the last part, + //so that . matches that 'directory' and not name of the baseName's + //module. For instance, baseName of 'one/two/three', maps to + //'one/two/three.js', but we want the directory, 'one/two' for + //this normalization. + normalizedBaseParts = baseParts.slice(0, baseParts.length - 1); + name = normalizedBaseParts.concat(name); + } + + trimDots(name); + name = name.join('/'); + } + + //Apply map config if available. + if (applyMap && map && (baseParts || starMap)) { + nameParts = name.split('/'); + + outerLoop: for (i = nameParts.length; i > 0; i -= 1) { + nameSegment = nameParts.slice(0, i).join('/'); + + if (baseParts) { + //Find the longest baseName segment match in the config. + //So, do joins on the biggest to smallest lengths of baseParts. + for (j = baseParts.length; j > 0; j -= 1) { + mapValue = getOwn(map, baseParts.slice(0, j).join('/')); + + //baseName segment has config, find if it has one for + //this name. + if (mapValue) { + mapValue = getOwn(mapValue, nameSegment); + if (mapValue) { + //Match, update name to the new value. + foundMap = mapValue; + foundI = i; + break outerLoop; + } + } + } + } + + //Check for a star map match, but just hold on to it, + //if there is a shorter segment match later in a matching + //config, then favor over this star map. + if (!foundStarMap && starMap && getOwn(starMap, nameSegment)) { + foundStarMap = getOwn(starMap, nameSegment); + starI = i; + } + } + + if (!foundMap && foundStarMap) { + foundMap = foundStarMap; + foundI = starI; + } + + if (foundMap) { + nameParts.splice(0, foundI, foundMap); + name = nameParts.join('/'); + } + } + + // If the name points to a package's name, use + // the package main instead. + pkgMain = getOwn(config.pkgs, name); + + return pkgMain ? pkgMain : name; + } + + function removeScript(name) { + if (isBrowser) { + each(scripts(), function (scriptNode) { + if (scriptNode.getAttribute('data-requiremodule') === name && + scriptNode.getAttribute('data-requirecontext') === context.contextName) { + scriptNode.parentNode.removeChild(scriptNode); + return true; + } + }); + } + } + + function hasPathFallback(id) { + var pathConfig = getOwn(config.paths, id); + if (pathConfig && isArray(pathConfig) && pathConfig.length > 1) { + //Pop off the first array value, since it failed, and + //retry + pathConfig.shift(); + context.require.undef(id); + + //Custom require that does not do map translation, since + //ID is "absolute", already mapped/resolved. + context.makeRequire(null, { + skipMap: true + })([id]); + + return true; + } + } + + //Turns a plugin!resource to [plugin, resource] + //with the plugin being undefined if the name + //did not have a plugin prefix. + function splitPrefix(name) { + var prefix, + index = name ? name.indexOf('!') : -1; + if (index > -1) { + prefix = name.substring(0, index); + name = name.substring(index + 1, name.length); + } + return [prefix, name]; + } + + /** + * Creates a module mapping that includes plugin prefix, module + * name, and path. If parentModuleMap is provided it will + * also normalize the name via require.normalize() + * + * @param {String} name the module name + * @param {String} [parentModuleMap] parent module map + * for the module name, used to resolve relative names. + * @param {Boolean} isNormalized: is the ID already normalized. + * This is true if this call is done for a define() module ID. + * @param {Boolean} applyMap: apply the map config to the ID. + * Should only be true if this map is for a dependency. + * + * @returns {Object} + */ + function makeModuleMap(name, parentModuleMap, isNormalized, applyMap) { + var url, pluginModule, suffix, nameParts, + prefix = null, + parentName = parentModuleMap ? parentModuleMap.name : null, + originalName = name, + isDefine = true, + normalizedName = ''; + + //If no name, then it means it is a require call, generate an + //internal name. + if (!name) { + isDefine = false; + name = '_@r' + (requireCounter += 1); + } + + nameParts = splitPrefix(name); + prefix = nameParts[0]; + name = nameParts[1]; + + if (prefix) { + prefix = normalize(prefix, parentName, applyMap); + pluginModule = getOwn(defined, prefix); + } + + //Account for relative paths if there is a base name. + if (name) { + if (prefix) { + if (pluginModule && pluginModule.normalize) { + //Plugin is loaded, use its normalize method. + normalizedName = pluginModule.normalize(name, function (name) { + return normalize(name, parentName, applyMap); + }); + } else { + // If nested plugin references, then do not try to + // normalize, as it will not normalize correctly. This + // places a restriction on resourceIds, and the longer + // term solution is not to normalize until plugins are + // loaded and all normalizations to allow for async + // loading of a loader plugin. But for now, fixes the + // common uses. Details in #1131 + normalizedName = name.indexOf('!') === -1 ? + normalize(name, parentName, applyMap) : + name; + } + } else { + //A regular module. + normalizedName = normalize(name, parentName, applyMap); + + //Normalized name may be a plugin ID due to map config + //application in normalize. The map config values must + //already be normalized, so do not need to redo that part. + nameParts = splitPrefix(normalizedName); + prefix = nameParts[0]; + normalizedName = nameParts[1]; + isNormalized = true; + + url = context.nameToUrl(normalizedName); + } + } + + //If the id is a plugin id that cannot be determined if it needs + //normalization, stamp it with a unique ID so two matching relative + //ids that may conflict can be separate. + suffix = prefix && !pluginModule && !isNormalized ? + '_unnormalized' + (unnormalizedCounter += 1) : + ''; + + return { + prefix: prefix, + name: normalizedName, + parentMap: parentModuleMap, + unnormalized: !!suffix, + url: url, + originalName: originalName, + isDefine: isDefine, + id: (prefix ? + prefix + '!' + normalizedName : + normalizedName) + suffix + }; + } + + function getModule(depMap) { + var id = depMap.id, + mod = getOwn(registry, id); + + if (!mod) { + mod = registry[id] = new context.Module(depMap); + } + + return mod; + } + + function on(depMap, name, fn) { + var id = depMap.id, + mod = getOwn(registry, id); + + if (hasProp(defined, id) && + (!mod || mod.defineEmitComplete)) { + if (name === 'defined') { + fn(defined[id]); + } + } else { + mod = getModule(depMap); + if (mod.error && name === 'error') { + fn(mod.error); + } else { + mod.on(name, fn); + } + } + } + + function onError(err, errback) { + var ids = err.requireModules, + notified = false; + + if (errback) { + errback(err); + } else { + each(ids, function (id) { + var mod = getOwn(registry, id); + if (mod) { + //Set error on module, so it skips timeout checks. + mod.error = err; + if (mod.events.error) { + notified = true; + mod.emit('error', err); + } + } + }); + + if (!notified) { + req.onError(err); + } + } + } + + /** + * Internal method to transfer globalQueue items to this context's + * defQueue. + */ + function takeGlobalQueue() { + //Push all the globalDefQueue items into the context's defQueue + if (globalDefQueue.length) { + //Array splice in the values since the context code has a + //local var ref to defQueue, so cannot just reassign the one + //on context. + apsp.apply(defQueue, + [defQueue.length, 0].concat(globalDefQueue)); + globalDefQueue = []; + } + } + + handlers = { + 'require': function (mod) { + if (mod.require) { + return mod.require; + } else { + return (mod.require = context.makeRequire(mod.map)); + } + }, + 'exports': function (mod) { + mod.usingExports = true; + if (mod.map.isDefine) { + if (mod.exports) { + return (defined[mod.map.id] = mod.exports); + } else { + return (mod.exports = defined[mod.map.id] = {}); + } + } + }, + 'module': function (mod) { + if (mod.module) { + return mod.module; + } else { + return (mod.module = { + id: mod.map.id, + uri: mod.map.url, + config: function () { + return getOwn(config.config, mod.map.id) || {}; + }, + exports: mod.exports || (mod.exports = {}) + }); + } + } + }; + + function cleanRegistry(id) { + //Clean up machinery used for waiting modules. + delete registry[id]; + delete enabledRegistry[id]; + } + + function breakCycle(mod, traced, processed) { + var id = mod.map.id; + + if (mod.error) { + mod.emit('error', mod.error); + } else { + traced[id] = true; + each(mod.depMaps, function (depMap, i) { + var depId = depMap.id, + dep = getOwn(registry, depId); + + //Only force things that have not completed + //being defined, so still in the registry, + //and only if it has not been matched up + //in the module already. + if (dep && !mod.depMatched[i] && !processed[depId]) { + if (getOwn(traced, depId)) { + mod.defineDep(i, defined[depId]); + mod.check(); //pass false? + } else { + breakCycle(dep, traced, processed); + } + } + }); + processed[id] = true; + } + } + + function checkLoaded() { + var err, usingPathFallback, + waitInterval = config.waitSeconds * 1000, + //It is possible to disable the wait interval by using waitSeconds of 0. + expired = waitInterval && (context.startTime + waitInterval) < new Date().getTime(), + noLoads = [], + reqCalls = [], + stillLoading = false, + needCycleCheck = true; + + //Do not bother if this call was a result of a cycle break. + if (inCheckLoaded) { + return; + } + + inCheckLoaded = true; + + //Figure out the state of all the modules. + eachProp(enabledRegistry, function (mod) { + var map = mod.map, + modId = map.id; + + //Skip things that are not enabled or in error state. + if (!mod.enabled) { + return; + } + + if (!map.isDefine) { + reqCalls.push(mod); + } + + if (!mod.error) { + //If the module should be executed, and it has not + //been inited and time is up, remember it. + if (!mod.inited && expired) { + if (hasPathFallback(modId)) { + usingPathFallback = true; + stillLoading = true; + } else { + noLoads.push(modId); + removeScript(modId); + } + } else if (!mod.inited && mod.fetched && map.isDefine) { + stillLoading = true; + if (!map.prefix) { + //No reason to keep looking for unfinished + //loading. If the only stillLoading is a + //plugin resource though, keep going, + //because it may be that a plugin resource + //is waiting on a non-plugin cycle. + return (needCycleCheck = false); + } + } + } + }); + + if (expired && noLoads.length) { + //If wait time expired, throw error of unloaded modules. + err = makeError('timeout', 'Load timeout for modules: ' + noLoads, null, noLoads); + err.contextName = context.contextName; + return onError(err); + } + + //Not expired, check for a cycle. + if (needCycleCheck) { + each(reqCalls, function (mod) { + breakCycle(mod, {}, {}); + }); + } + + //If still waiting on loads, and the waiting load is something + //other than a plugin resource, or there are still outstanding + //scripts, then just try back later. + if ((!expired || usingPathFallback) && stillLoading) { + //Something is still waiting to load. Wait for it, but only + //if a timeout is not already in effect. + if ((isBrowser || isWebWorker) && !checkLoadedTimeoutId) { + checkLoadedTimeoutId = setTimeout(function () { + checkLoadedTimeoutId = 0; + checkLoaded(); + }, 50); + } + } + + inCheckLoaded = false; + } + + Module = function (map) { + this.events = getOwn(undefEvents, map.id) || {}; + this.map = map; + this.shim = getOwn(config.shim, map.id); + this.depExports = []; + this.depMaps = []; + this.depMatched = []; + this.pluginMaps = {}; + this.depCount = 0; + + /* this.exports this.factory + this.depMaps = [], + this.enabled, this.fetched + */ + }; + + Module.prototype = { + init: function (depMaps, factory, errback, options) { + options = options || {}; + + //Do not do more inits if already done. Can happen if there + //are multiple define calls for the same module. That is not + //a normal, common case, but it is also not unexpected. + if (this.inited) { + return; + } + + this.factory = factory; + + if (errback) { + //Register for errors on this module. + this.on('error', errback); + } else if (this.events.error) { + //If no errback already, but there are error listeners + //on this module, set up an errback to pass to the deps. + errback = bind(this, function (err) { + this.emit('error', err); + }); + } + + //Do a copy of the dependency array, so that + //source inputs are not modified. For example + //"shim" deps are passed in here directly, and + //doing a direct modification of the depMaps array + //would affect that config. + this.depMaps = depMaps && depMaps.slice(0); + + this.errback = errback; + + //Indicate this module has be initialized + this.inited = true; + + this.ignore = options.ignore; + + //Could have option to init this module in enabled mode, + //or could have been previously marked as enabled. However, + //the dependencies are not known until init is called. So + //if enabled previously, now trigger dependencies as enabled. + if (options.enabled || this.enabled) { + //Enable this module and dependencies. + //Will call this.check() + this.enable(); + } else { + this.check(); + } + }, + + defineDep: function (i, depExports) { + //Because of cycles, defined callback for a given + //export can be called more than once. + if (!this.depMatched[i]) { + this.depMatched[i] = true; + this.depCount -= 1; + this.depExports[i] = depExports; + } + }, + + fetch: function () { + if (this.fetched) { + return; + } + this.fetched = true; + + context.startTime = (new Date()).getTime(); + + var map = this.map; + + //If the manager is for a plugin managed resource, + //ask the plugin to load it now. + if (this.shim) { + context.makeRequire(this.map, { + enableBuildCallback: true + })(this.shim.deps || [], bind(this, function () { + return map.prefix ? this.callPlugin() : this.load(); + })); + } else { + //Regular dependency. + return map.prefix ? this.callPlugin() : this.load(); + } + }, + + load: function () { + var url = this.map.url; + + //Regular dependency. + if (!urlFetched[url]) { + urlFetched[url] = true; + context.load(this.map.id, url); + } + }, + + /** + * Checks if the module is ready to define itself, and if so, + * define it. + */ + check: function () { + if (!this.enabled || this.enabling) { + return; + } + + var err, cjsModule, + id = this.map.id, + depExports = this.depExports, + exports = this.exports, + factory = this.factory; + + if (!this.inited) { + this.fetch(); + } else if (this.error) { + this.emit('error', this.error); + } else if (!this.defining) { + //The factory could trigger another require call + //that would result in checking this module to + //define itself again. If already in the process + //of doing that, skip this work. + this.defining = true; + + if (this.depCount < 1 && !this.defined) { + if (isFunction(factory)) { + //If there is an error listener, favor passing + //to that instead of throwing an error. However, + //only do it for define()'d modules. require + //errbacks should not be called for failures in + //their callbacks (#699). However if a global + //onError is set, use that. + if ((this.events.error && this.map.isDefine) || + req.onError !== defaultOnError) { + try { + exports = context.execCb(id, factory, depExports, exports); + } catch (e) { + err = e; + } + } else { + exports = context.execCb(id, factory, depExports, exports); + } + + // Favor return value over exports. If node/cjs in play, + // then will not have a return value anyway. Favor + // module.exports assignment over exports object. + if (this.map.isDefine && exports === undefined) { + cjsModule = this.module; + if (cjsModule) { + exports = cjsModule.exports; + } else if (this.usingExports) { + //exports already set the defined value. + exports = this.exports; + } + } + + if (err) { + err.requireMap = this.map; + err.requireModules = this.map.isDefine ? [this.map.id] : null; + err.requireType = this.map.isDefine ? 'define' : 'require'; + return onError((this.error = err)); + } + + } else { + //Just a literal value + exports = factory; + } + + this.exports = exports; + + if (this.map.isDefine && !this.ignore) { + defined[id] = exports; + + if (req.onResourceLoad) { + req.onResourceLoad(context, this.map, this.depMaps); + } + } + + //Clean up + cleanRegistry(id); + + this.defined = true; + } + + //Finished the define stage. Allow calling check again + //to allow define notifications below in the case of a + //cycle. + this.defining = false; + + if (this.defined && !this.defineEmitted) { + this.defineEmitted = true; + this.emit('defined', this.exports); + this.defineEmitComplete = true; + } + + } + }, + + callPlugin: function () { + var map = this.map, + id = map.id, + //Map already normalized the prefix. + pluginMap = makeModuleMap(map.prefix); + + //Mark this as a dependency for this plugin, so it + //can be traced for cycles. + this.depMaps.push(pluginMap); + + on(pluginMap, 'defined', bind(this, function (plugin) { + var load, normalizedMap, normalizedMod, + bundleId = getOwn(bundlesMap, this.map.id), + name = this.map.name, + parentName = this.map.parentMap ? this.map.parentMap.name : null, + localRequire = context.makeRequire(map.parentMap, { + enableBuildCallback: true + }); + + //If current map is not normalized, wait for that + //normalized name to load instead of continuing. + if (this.map.unnormalized) { + //Normalize the ID if the plugin allows it. + if (plugin.normalize) { + name = plugin.normalize(name, function (name) { + return normalize(name, parentName, true); + }) || ''; + } + + //prefix and name should already be normalized, no need + //for applying map config again either. + normalizedMap = makeModuleMap(map.prefix + '!' + name, + this.map.parentMap); + on(normalizedMap, + 'defined', bind(this, function (value) { + this.init([], function () { return value; }, null, { + enabled: true, + ignore: true + }); + })); + + normalizedMod = getOwn(registry, normalizedMap.id); + if (normalizedMod) { + //Mark this as a dependency for this plugin, so it + //can be traced for cycles. + this.depMaps.push(normalizedMap); + + if (this.events.error) { + normalizedMod.on('error', bind(this, function (err) { + this.emit('error', err); + })); + } + normalizedMod.enable(); + } + + return; + } + + //If a paths config, then just load that file instead to + //resolve the plugin, as it is built into that paths layer. + if (bundleId) { + this.map.url = context.nameToUrl(bundleId); + this.load(); + return; + } + + load = bind(this, function (value) { + this.init([], function () { return value; }, null, { + enabled: true + }); + }); + + load.error = bind(this, function (err) { + this.inited = true; + this.error = err; + err.requireModules = [id]; + + //Remove temp unnormalized modules for this module, + //since they will never be resolved otherwise now. + eachProp(registry, function (mod) { + if (mod.map.id.indexOf(id + '_unnormalized') === 0) { + cleanRegistry(mod.map.id); + } + }); + + onError(err); + }); + + //Allow plugins to load other code without having to know the + //context or how to 'complete' the load. + load.fromText = bind(this, function (text, textAlt) { + /*jslint evil: true */ + var moduleName = map.name, + moduleMap = makeModuleMap(moduleName), + hasInteractive = useInteractive; + + //As of 2.1.0, support just passing the text, to reinforce + //fromText only being called once per resource. Still + //support old style of passing moduleName but discard + //that moduleName in favor of the internal ref. + if (textAlt) { + text = textAlt; + } + + //Turn off interactive script matching for IE for any define + //calls in the text, then turn it back on at the end. + if (hasInteractive) { + useInteractive = false; + } + + //Prime the system by creating a module instance for + //it. + getModule(moduleMap); + + //Transfer any config to this other module. + if (hasProp(config.config, id)) { + config.config[moduleName] = config.config[id]; + } + + try { + req.exec(text); + } catch (e) { + return onError(makeError('fromtexteval', + 'fromText eval for ' + id + + ' failed: ' + e, + e, + [id])); + } + + if (hasInteractive) { + useInteractive = true; + } + + //Mark this as a dependency for the plugin + //resource + this.depMaps.push(moduleMap); + + //Support anonymous modules. + context.completeLoad(moduleName); + + //Bind the value of that module to the value for this + //resource ID. + localRequire([moduleName], load); + }); + + //Use parentName here since the plugin's name is not reliable, + //could be some weird string with no path that actually wants to + //reference the parentName's path. + plugin.load(map.name, localRequire, load, config); + })); + + context.enable(pluginMap, this); + this.pluginMaps[pluginMap.id] = pluginMap; + }, + + enable: function () { + enabledRegistry[this.map.id] = this; + this.enabled = true; + + //Set flag mentioning that the module is enabling, + //so that immediate calls to the defined callbacks + //for dependencies do not trigger inadvertent load + //with the depCount still being zero. + this.enabling = true; + + //Enable each dependency + each(this.depMaps, bind(this, function (depMap, i) { + var id, mod, handler; + + if (typeof depMap === 'string') { + //Dependency needs to be converted to a depMap + //and wired up to this module. + depMap = makeModuleMap(depMap, + (this.map.isDefine ? this.map : this.map.parentMap), + false, + !this.skipMap); + this.depMaps[i] = depMap; + + handler = getOwn(handlers, depMap.id); + + if (handler) { + this.depExports[i] = handler(this); + return; + } + + this.depCount += 1; + + on(depMap, 'defined', bind(this, function (depExports) { + this.defineDep(i, depExports); + this.check(); + })); + + if (this.errback) { + on(depMap, 'error', bind(this, this.errback)); + } else if (this.events.error) { + // No direct errback on this module, but something + // else is listening for errors, so be sure to + // propagate the error correctly. + on(depMap, 'error', bind(this, function(err) { + this.emit('error', err); + })); + } + } + + id = depMap.id; + mod = registry[id]; + + //Skip special modules like 'require', 'exports', 'module' + //Also, don't call enable if it is already enabled, + //important in circular dependency cases. + if (!hasProp(handlers, id) && mod && !mod.enabled) { + context.enable(depMap, this); + } + })); + + //Enable each plugin that is used in + //a dependency + eachProp(this.pluginMaps, bind(this, function (pluginMap) { + var mod = getOwn(registry, pluginMap.id); + if (mod && !mod.enabled) { + context.enable(pluginMap, this); + } + })); + + this.enabling = false; + + this.check(); + }, + + on: function (name, cb) { + var cbs = this.events[name]; + if (!cbs) { + cbs = this.events[name] = []; + } + cbs.push(cb); + }, + + emit: function (name, evt) { + each(this.events[name], function (cb) { + cb(evt); + }); + if (name === 'error') { + //Now that the error handler was triggered, remove + //the listeners, since this broken Module instance + //can stay around for a while in the registry. + delete this.events[name]; + } + } + }; + + function callGetModule(args) { + //Skip modules already defined. + if (!hasProp(defined, args[0])) { + getModule(makeModuleMap(args[0], null, true)).init(args[1], args[2]); + } + } + + function removeListener(node, func, name, ieName) { + //Favor detachEvent because of IE9 + //issue, see attachEvent/addEventListener comment elsewhere + //in this file. + if (node.detachEvent && !isOpera) { + //Probably IE. If not it will throw an error, which will be + //useful to know. + if (ieName) { + node.detachEvent(ieName, func); + } + } else { + node.removeEventListener(name, func, false); + } + } + + /** + * Given an event from a script node, get the requirejs info from it, + * and then removes the event listeners on the node. + * @param {Event} evt + * @returns {Object} + */ + function getScriptData(evt) { + //Using currentTarget instead of target for Firefox 2.0's sake. Not + //all old browsers will be supported, but this one was easy enough + //to support and still makes sense. + var node = evt.currentTarget || evt.srcElement; + + //Remove the listeners once here. + removeListener(node, context.onScriptLoad, 'load', 'onreadystatechange'); + removeListener(node, context.onScriptError, 'error'); + + return { + node: node, + id: node && node.getAttribute('data-requiremodule') + }; + } + + function intakeDefines() { + var args; + + //Any defined modules in the global queue, intake them now. + takeGlobalQueue(); + + //Make sure any remaining defQueue items get properly processed. + while (defQueue.length) { + args = defQueue.shift(); + if (args[0] === null) { + return onError(makeError('mismatch', 'Mismatched anonymous define() module: ' + args[args.length - 1])); + } else { + //args are id, deps, factory. Should be normalized by the + //define() function. + callGetModule(args); + } + } + } + + context = { + config: config, + contextName: contextName, + registry: registry, + defined: defined, + urlFetched: urlFetched, + defQueue: defQueue, + Module: Module, + makeModuleMap: makeModuleMap, + nextTick: req.nextTick, + onError: onError, + + /** + * Set a configuration for the context. + * @param {Object} cfg config object to integrate. + */ + configure: function (cfg) { + //Make sure the baseUrl ends in a slash. + if (cfg.baseUrl) { + if (cfg.baseUrl.charAt(cfg.baseUrl.length - 1) !== '/') { + cfg.baseUrl += '/'; + } + } + + //Save off the paths since they require special processing, + //they are additive. + var shim = config.shim, + objs = { + paths: true, + bundles: true, + config: true, + map: true + }; + + eachProp(cfg, function (value, prop) { + if (objs[prop]) { + if (!config[prop]) { + config[prop] = {}; + } + mixin(config[prop], value, true, true); + } else { + config[prop] = value; + } + }); + + //Reverse map the bundles + if (cfg.bundles) { + eachProp(cfg.bundles, function (value, prop) { + each(value, function (v) { + if (v !== prop) { + bundlesMap[v] = prop; + } + }); + }); + } + + //Merge shim + if (cfg.shim) { + eachProp(cfg.shim, function (value, id) { + //Normalize the structure + if (isArray(value)) { + value = { + deps: value + }; + } + if ((value.exports || value.init) && !value.exportsFn) { + value.exportsFn = context.makeShimExports(value); + } + shim[id] = value; + }); + config.shim = shim; + } + + //Adjust packages if necessary. + if (cfg.packages) { + each(cfg.packages, function (pkgObj) { + var location, name; + + pkgObj = typeof pkgObj === 'string' ? { name: pkgObj } : pkgObj; + + name = pkgObj.name; + location = pkgObj.location; + if (location) { + config.paths[name] = pkgObj.location; + } + + //Save pointer to main module ID for pkg name. + //Remove leading dot in main, so main paths are normalized, + //and remove any trailing .js, since different package + //envs have different conventions: some use a module name, + //some use a file name. + config.pkgs[name] = pkgObj.name + '/' + (pkgObj.main || 'main') + .replace(currDirRegExp, '') + .replace(jsSuffixRegExp, ''); + }); + } + + //If there are any "waiting to execute" modules in the registry, + //update the maps for them, since their info, like URLs to load, + //may have changed. + eachProp(registry, function (mod, id) { + //If module already has init called, since it is too + //late to modify them, and ignore unnormalized ones + //since they are transient. + if (!mod.inited && !mod.map.unnormalized) { + mod.map = makeModuleMap(id); + } + }); + + //If a deps array or a config callback is specified, then call + //require with those args. This is useful when require is defined as a + //config object before require.js is loaded. + if (cfg.deps || cfg.callback) { + context.require(cfg.deps || [], cfg.callback); + } + }, + + makeShimExports: function (value) { + function fn() { + var ret; + if (value.init) { + ret = value.init.apply(global, arguments); + } + return ret || (value.exports && getGlobal(value.exports)); + } + return fn; + }, + + makeRequire: function (relMap, options) { + options = options || {}; + + function localRequire(deps, callback, errback) { + var id, map, requireMod; + + if (options.enableBuildCallback && callback && isFunction(callback)) { + callback.__requireJsBuild = true; + } + + if (typeof deps === 'string') { + if (isFunction(callback)) { + //Invalid call + return onError(makeError('requireargs', 'Invalid require call'), errback); + } + + //If require|exports|module are requested, get the + //value for them from the special handlers. Caveat: + //this only works while module is being defined. + if (relMap && hasProp(handlers, deps)) { + return handlers[deps](registry[relMap.id]); + } + + //Synchronous access to one module. If require.get is + //available (as in the Node adapter), prefer that. + if (req.get) { + return req.get(context, deps, relMap, localRequire); + } + + //Normalize module name, if it contains . or .. + map = makeModuleMap(deps, relMap, false, true); + id = map.id; + + if (!hasProp(defined, id)) { + return onError(makeError('notloaded', 'Module name "' + + id + + '" has not been loaded yet for context: ' + + contextName + + (relMap ? '' : '. Use require([])'))); + } + return defined[id]; + } + + //Grab defines waiting in the global queue. + intakeDefines(); + + //Mark all the dependencies as needing to be loaded. + context.nextTick(function () { + //Some defines could have been added since the + //require call, collect them. + intakeDefines(); + + requireMod = getModule(makeModuleMap(null, relMap)); + + //Store if map config should be applied to this require + //call for dependencies. + requireMod.skipMap = options.skipMap; + + requireMod.init(deps, callback, errback, { + enabled: true + }); + + checkLoaded(); + }); + + return localRequire; + } + + mixin(localRequire, { + isBrowser: isBrowser, + + /** + * Converts a module name + .extension into an URL path. + * *Requires* the use of a module name. It does not support using + * plain URLs like nameToUrl. + */ + toUrl: function (moduleNamePlusExt) { + var ext, + index = moduleNamePlusExt.lastIndexOf('.'), + segment = moduleNamePlusExt.split('/')[0], + isRelative = segment === '.' || segment === '..'; + + //Have a file extension alias, and it is not the + //dots from a relative path. + if (index !== -1 && (!isRelative || index > 1)) { + ext = moduleNamePlusExt.substring(index, moduleNamePlusExt.length); + moduleNamePlusExt = moduleNamePlusExt.substring(0, index); + } + + return context.nameToUrl(normalize(moduleNamePlusExt, + relMap && relMap.id, true), ext, true); + }, + + defined: function (id) { + return hasProp(defined, makeModuleMap(id, relMap, false, true).id); + }, + + specified: function (id) { + id = makeModuleMap(id, relMap, false, true).id; + return hasProp(defined, id) || hasProp(registry, id); + } + }); + + //Only allow undef on top level require calls + if (!relMap) { + localRequire.undef = function (id) { + //Bind any waiting define() calls to this context, + //fix for #408 + takeGlobalQueue(); + + var map = makeModuleMap(id, relMap, true), + mod = getOwn(registry, id); + + removeScript(id); + + delete defined[id]; + delete urlFetched[map.url]; + delete undefEvents[id]; + + //Clean queued defines too. Go backwards + //in array so that the splices do not + //mess up the iteration. + eachReverse(defQueue, function(args, i) { + if(args[0] === id) { + defQueue.splice(i, 1); + } + }); + + if (mod) { + //Hold on to listeners in case the + //module will be attempted to be reloaded + //using a different config. + if (mod.events.defined) { + undefEvents[id] = mod.events; + } + + cleanRegistry(id); + } + }; + } + + return localRequire; + }, + + /** + * Called to enable a module if it is still in the registry + * awaiting enablement. A second arg, parent, the parent module, + * is passed in for context, when this method is overridden by + * the optimizer. Not shown here to keep code compact. + */ + enable: function (depMap) { + var mod = getOwn(registry, depMap.id); + if (mod) { + getModule(depMap).enable(); + } + }, + + /** + * Internal method used by environment adapters to complete a load event. + * A load event could be a script load or just a load pass from a synchronous + * load call. + * @param {String} moduleName the name of the module to potentially complete. + */ + completeLoad: function (moduleName) { + var found, args, mod, + shim = getOwn(config.shim, moduleName) || {}, + shExports = shim.exports; + + takeGlobalQueue(); + + while (defQueue.length) { + args = defQueue.shift(); + if (args[0] === null) { + args[0] = moduleName; + //If already found an anonymous module and bound it + //to this name, then this is some other anon module + //waiting for its completeLoad to fire. + if (found) { + break; + } + found = true; + } else if (args[0] === moduleName) { + //Found matching define call for this script! + found = true; + } + + callGetModule(args); + } + + //Do this after the cycle of callGetModule in case the result + //of those calls/init calls changes the registry. + mod = getOwn(registry, moduleName); + + if (!found && !hasProp(defined, moduleName) && mod && !mod.inited) { + if (config.enforceDefine && (!shExports || !getGlobal(shExports))) { + if (hasPathFallback(moduleName)) { + return; + } else { + return onError(makeError('nodefine', + 'No define call for ' + moduleName, + null, + [moduleName])); + } + } else { + //A script that does not call define(), so just simulate + //the call for it. + callGetModule([moduleName, (shim.deps || []), shim.exportsFn]); + } + } + + checkLoaded(); + }, + + /** + * Converts a module name to a file path. Supports cases where + * moduleName may actually be just an URL. + * Note that it **does not** call normalize on the moduleName, + * it is assumed to have already been normalized. This is an + * internal API, not a public one. Use toUrl for the public API. + */ + nameToUrl: function (moduleName, ext, skipExt) { + var paths, syms, i, parentModule, url, + parentPath, bundleId, + pkgMain = getOwn(config.pkgs, moduleName); + + if (pkgMain) { + moduleName = pkgMain; + } + + bundleId = getOwn(bundlesMap, moduleName); + + if (bundleId) { + return context.nameToUrl(bundleId, ext, skipExt); + } + + //If a colon is in the URL, it indicates a protocol is used and it is just + //an URL to a file, or if it starts with a slash, contains a query arg (i.e. ?) + //or ends with .js, then assume the user meant to use an url and not a module id. + //The slash is important for protocol-less URLs as well as full paths. + if (req.jsExtRegExp.test(moduleName)) { + //Just a plain path, not module name lookup, so just return it. + //Add extension if it is included. This is a bit wonky, only non-.js things pass + //an extension, this method probably needs to be reworked. + url = moduleName + (ext || ''); + } else { + //A module that needs to be converted to a path. + paths = config.paths; + + syms = moduleName.split('/'); + //For each module name segment, see if there is a path + //registered for it. Start with most specific name + //and work up from it. + for (i = syms.length; i > 0; i -= 1) { + parentModule = syms.slice(0, i).join('/'); + + parentPath = getOwn(paths, parentModule); + if (parentPath) { + //If an array, it means there are a few choices, + //Choose the one that is desired + if (isArray(parentPath)) { + parentPath = parentPath[0]; + } + syms.splice(0, i, parentPath); + break; + } + } + + //Join the path parts together, then figure out if baseUrl is needed. + url = syms.join('/'); + url += (ext || (/^data\:|\?/.test(url) || skipExt ? '' : '.js')); + url = (url.charAt(0) === '/' || url.match(/^[\w\+\.\-]+:/) ? '' : config.baseUrl) + url; + } + + return config.urlArgs ? url + + ((url.indexOf('?') === -1 ? '?' : '&') + + config.urlArgs) : url; + }, + + //Delegates to req.load. Broken out as a separate function to + //allow overriding in the optimizer. + load: function (id, url) { + req.load(context, id, url); + }, + + /** + * Executes a module callback function. Broken out as a separate function + * solely to allow the build system to sequence the files in the built + * layer in the right sequence. + * + * @private + */ + execCb: function (name, callback, args, exports) { + return callback.apply(exports, args); + }, + + /** + * callback for script loads, used to check status of loading. + * + * @param {Event} evt the event from the browser for the script + * that was loaded. + */ + onScriptLoad: function (evt) { + //Using currentTarget instead of target for Firefox 2.0's sake. Not + //all old browsers will be supported, but this one was easy enough + //to support and still makes sense. + if (evt.type === 'load' || + (readyRegExp.test((evt.currentTarget || evt.srcElement).readyState))) { + //Reset interactive script so a script node is not held onto for + //to long. + interactiveScript = null; + + //Pull out the name of the module and the context. + var data = getScriptData(evt); + context.completeLoad(data.id); + } + }, + + /** + * Callback for script errors. + */ + onScriptError: function (evt) { + var data = getScriptData(evt); + if (!hasPathFallback(data.id)) { + return onError(makeError('scripterror', 'Script error for: ' + data.id, evt, [data.id])); + } + } + }; + + context.require = context.makeRequire(); + return context; + } + + /** + * Main entry point. + * + * If the only argument to require is a string, then the module that + * is represented by that string is fetched for the appropriate context. + * + * If the first argument is an array, then it will be treated as an array + * of dependency string names to fetch. An optional function callback can + * be specified to execute when all of those dependencies are available. + * + * Make a local req variable to help Caja compliance (it assumes things + * on a require that are not standardized), and to give a short + * name for minification/local scope use. + */ + req = requirejs = function (deps, callback, errback, optional) { + + //Find the right context, use default + var context, config, + contextName = defContextName; + + // Determine if have config object in the call. + if (!isArray(deps) && typeof deps !== 'string') { + // deps is a config object + config = deps; + if (isArray(callback)) { + // Adjust args if there are dependencies + deps = callback; + callback = errback; + errback = optional; + } else { + deps = []; + } + } + + if (config && config.context) { + contextName = config.context; + } + + context = getOwn(contexts, contextName); + if (!context) { + context = contexts[contextName] = req.s.newContext(contextName); + } + + if (config) { + context.configure(config); + } + + return context.require(deps, callback, errback); + }; + + /** + * Support require.config() to make it easier to cooperate with other + * AMD loaders on globally agreed names. + */ + req.config = function (config) { + return req(config); + }; + + /** + * Execute something after the current tick + * of the event loop. Override for other envs + * that have a better solution than setTimeout. + * @param {Function} fn function to execute later. + */ + req.nextTick = typeof setTimeout !== 'undefined' ? function (fn) { + setTimeout(fn, 4); + } : function (fn) { fn(); }; + + /** + * Export require as a global, but only if it does not already exist. + */ + if (!require) { + require = req; + } + + req.version = version; + + //Used to filter out dependencies that are already paths. + req.jsExtRegExp = /^\/|:|\?|\.js$/; + req.isBrowser = isBrowser; + s = req.s = { + contexts: contexts, + newContext: newContext + }; + + //Create default context. + req({}); + + //Exports some context-sensitive methods on global require. + each([ + 'toUrl', + 'undef', + 'defined', + 'specified' + ], function (prop) { + //Reference from contexts instead of early binding to default context, + //so that during builds, the latest instance of the default context + //with its config gets used. + req[prop] = function () { + var ctx = contexts[defContextName]; + return ctx.require[prop].apply(ctx, arguments); + }; + }); + + if (isBrowser) { + head = s.head = document.getElementsByTagName('head')[0]; + //If BASE tag is in play, using appendChild is a problem for IE6. + //When that browser dies, this can be removed. Details in this jQuery bug: + //http://dev.jquery.com/ticket/2709 + baseElement = document.getElementsByTagName('base')[0]; + if (baseElement) { + head = s.head = baseElement.parentNode; + } + } + + /** + * Any errors that require explicitly generates will be passed to this + * function. Intercept/override it if you want custom error handling. + * @param {Error} err the error object. + */ + req.onError = defaultOnError; + + /** + * Creates the node for the load command. Only used in browser envs. + */ + req.createNode = function (config, moduleName, url) { + var node = config.xhtml ? + document.createElementNS('http://www.w3.org/1999/xhtml', 'html:script') : + document.createElement('script'); + node.type = config.scriptType || 'text/javascript'; + node.charset = 'utf-8'; + node.async = true; + return node; + }; + + /** + * Does the request to load a module for the browser case. + * Make this a separate function to allow other environments + * to override it. + * + * @param {Object} context the require context to find state. + * @param {String} moduleName the name of the module. + * @param {Object} url the URL to the module. + */ + req.load = function (context, moduleName, url) { + var config = (context && context.config) || {}, + node; + if (isBrowser) { + //In the browser so use a script tag + node = req.createNode(config, moduleName, url); + + node.setAttribute('data-requirecontext', context.contextName); + node.setAttribute('data-requiremodule', moduleName); + + //Set up load listener. Test attachEvent first because IE9 has + //a subtle issue in its addEventListener and script onload firings + //that do not match the behavior of all other browsers with + //addEventListener support, which fire the onload event for a + //script right after the script execution. See: + //https://connect.microsoft.com/IE/feedback/details/648057/script-onload-event-is-not-fired-immediately-after-script-execution + //UNFORTUNATELY Opera implements attachEvent but does not follow the script + //script execution mode. + if (node.attachEvent && + //Check if node.attachEvent is artificially added by custom script or + //natively supported by browser + //read https://github.com/jrburke/requirejs/issues/187 + //if we can NOT find [native code] then it must NOT natively supported. + //in IE8, node.attachEvent does not have toString() + //Note the test for "[native code" with no closing brace, see: + //https://github.com/jrburke/requirejs/issues/273 + !(node.attachEvent.toString && node.attachEvent.toString().indexOf('[native code') < 0) && + !isOpera) { + //Probably IE. IE (at least 6-8) do not fire + //script onload right after executing the script, so + //we cannot tie the anonymous define call to a name. + //However, IE reports the script as being in 'interactive' + //readyState at the time of the define call. + useInteractive = true; + + node.attachEvent('onreadystatechange', context.onScriptLoad); + //It would be great to add an error handler here to catch + //404s in IE9+. However, onreadystatechange will fire before + //the error handler, so that does not help. If addEventListener + //is used, then IE will fire error before load, but we cannot + //use that pathway given the connect.microsoft.com issue + //mentioned above about not doing the 'script execute, + //then fire the script load event listener before execute + //next script' that other browsers do. + //Best hope: IE10 fixes the issues, + //and then destroys all installs of IE 6-9. + //node.attachEvent('onerror', context.onScriptError); + } else { + node.addEventListener('load', context.onScriptLoad, false); + node.addEventListener('error', context.onScriptError, false); + } + node.src = url; + + //For some cache cases in IE 6-8, the script executes before the end + //of the appendChild execution, so to tie an anonymous define + //call to the module name (which is stored on the node), hold on + //to a reference to this node, but clear after the DOM insertion. + currentlyAddingScript = node; + if (baseElement) { + head.insertBefore(node, baseElement); + } else { + head.appendChild(node); + } + currentlyAddingScript = null; + + return node; + } else if (isWebWorker) { + try { + //In a web worker, use importScripts. This is not a very + //efficient use of importScripts, importScripts will block until + //its script is downloaded and evaluated. However, if web workers + //are in play, the expectation that a build has been done so that + //only one script needs to be loaded anyway. This may need to be + //reevaluated if other use cases become common. + importScripts(url); + + //Account for anonymous modules + context.completeLoad(moduleName); + } catch (e) { + context.onError(makeError('importscripts', + 'importScripts failed for ' + + moduleName + ' at ' + url, + e, + [moduleName])); + } + } + }; + + function getInteractiveScript() { + if (interactiveScript && interactiveScript.readyState === 'interactive') { + return interactiveScript; + } + + eachReverse(scripts(), function (script) { + if (script.readyState === 'interactive') { + return (interactiveScript = script); + } + }); + return interactiveScript; + } + + //Look for a data-main script attribute, which could also adjust the baseUrl. + if (isBrowser && !cfg.skipDataMain) { + //Figure out baseUrl. Get it from the script tag with require.js in it. + eachReverse(scripts(), function (script) { + //Set the 'head' where we can append children by + //using the script's parent. + if (!head) { + head = script.parentNode; + } + + //Look for a data-main attribute to set main script for the page + //to load. If it is there, the path to data main becomes the + //baseUrl, if it is not already set. + dataMain = script.getAttribute('data-main'); + if (dataMain) { + //Preserve dataMain in case it is a path (i.e. contains '?') + mainScript = dataMain; + + //Set final baseUrl if there is not already an explicit one. + if (!cfg.baseUrl) { + //Pull off the directory of data-main for use as the + //baseUrl. + src = mainScript.split('/'); + mainScript = src.pop(); + subPath = src.length ? src.join('/') + '/' : './'; + + cfg.baseUrl = subPath; + } + + //Strip off any trailing .js since mainScript is now + //like a module name. + mainScript = mainScript.replace(jsSuffixRegExp, ''); + + //If mainScript is still a path, fall back to dataMain + if (req.jsExtRegExp.test(mainScript)) { + mainScript = dataMain; + } + + //Put the data-main script in the files to load. + cfg.deps = cfg.deps ? cfg.deps.concat(mainScript) : [mainScript]; + + return true; + } + }); + } + + /** + * The function that handles definitions of modules. Differs from + * require() in that a string for the module should be the first argument, + * and the function to execute after dependencies are loaded should + * return a value to define the module corresponding to the first argument's + * name. + */ + define = function (name, deps, callback) { + var node, context; + + //Allow for anonymous modules + if (typeof name !== 'string') { + //Adjust args appropriately + callback = deps; + deps = name; + name = null; + } + + //This module may not have dependencies + if (!isArray(deps)) { + callback = deps; + deps = null; + } + + //If no name, and callback is a function, then figure out if it a + //CommonJS thing with dependencies. + if (!deps && isFunction(callback)) { + deps = []; + //Remove comments from the callback string, + //look for require calls, and pull them into the dependencies, + //but only if there are function args. + if (callback.length) { + callback + .toString() + .replace(commentRegExp, '') + .replace(cjsRequireRegExp, function (match, dep) { + deps.push(dep); + }); + + //May be a CommonJS thing even without require calls, but still + //could use exports, and module. Avoid doing exports and module + //work though if it just needs require. + //REQUIRES the function to expect the CommonJS variables in the + //order listed below. + deps = (callback.length === 1 ? ['require'] : ['require', 'exports', 'module']).concat(deps); + } + } + + //If in IE 6-8 and hit an anonymous define() call, do the interactive + //work. + if (useInteractive) { + node = currentlyAddingScript || getInteractiveScript(); + if (node) { + if (!name) { + name = node.getAttribute('data-requiremodule'); + } + context = contexts[node.getAttribute('data-requirecontext')]; + } + } + + //Always save off evaluating the def call until the script onload handler. + //This allows multiple modules to be in a file without prematurely + //tracing dependencies, and allows for anonymous module support, + //where the module name is not known until the script onload event + //occurs. If no context, use the global queue, and get it processed + //in the onscript load callback. + (context ? context.defQueue : globalDefQueue).push([name, deps, callback]); + }; + + define.amd = { + jQuery: true + }; + + + /** + * Executes the text. Normally just uses eval, but can be modified + * to use a better, environment-specific call. Only used for transpiling + * loader plugins, not for plain JS modules. + * @param {String} text the text to execute/evaluate. + */ + req.exec = function (text) { + /*jslint evil: true */ + return eval(text); + }; + + //Set up with config info. + req(cfg); +}(this)); diff --git a/server/sonar-web/src/main/js/select2-jquery-ui-fix.js b/server/sonar-web/src/main/js/libs/select2-jquery-ui-fix.js similarity index 100% rename from server/sonar-web/src/main/js/select2-jquery-ui-fix.js rename to server/sonar-web/src/main/js/libs/select2-jquery-ui-fix.js diff --git a/server/sonar-web/src/main/js/sortable.js b/server/sonar-web/src/main/js/libs/sortable.js similarity index 100% rename from server/sonar-web/src/main/js/sortable.js rename to server/sonar-web/src/main/js/libs/sortable.js diff --git a/server/sonar-web/src/main/js/third-party/backbone.js b/server/sonar-web/src/main/js/libs/third-party/backbone.js similarity index 100% rename from server/sonar-web/src/main/js/third-party/backbone.js rename to server/sonar-web/src/main/js/libs/third-party/backbone.js diff --git a/server/sonar-web/src/main/js/third-party/backbone.marionette.js b/server/sonar-web/src/main/js/libs/third-party/backbone.marionette.js similarity index 100% rename from server/sonar-web/src/main/js/third-party/backbone.marionette.js rename to server/sonar-web/src/main/js/libs/third-party/backbone.marionette.js diff --git a/server/sonar-web/src/main/js/third-party/bootstrap/dropdown.js b/server/sonar-web/src/main/js/libs/third-party/bootstrap/dropdown.js similarity index 100% rename from server/sonar-web/src/main/js/third-party/bootstrap/dropdown.js rename to server/sonar-web/src/main/js/libs/third-party/bootstrap/dropdown.js diff --git a/server/sonar-web/src/main/js/third-party/bootstrap/tooltip.js b/server/sonar-web/src/main/js/libs/third-party/bootstrap/tooltip.js similarity index 100% rename from server/sonar-web/src/main/js/third-party/bootstrap/tooltip.js rename to server/sonar-web/src/main/js/libs/third-party/bootstrap/tooltip.js diff --git a/server/sonar-web/src/main/js/third-party/d3.js b/server/sonar-web/src/main/js/libs/third-party/d3.js similarity index 100% rename from server/sonar-web/src/main/js/third-party/d3.js rename to server/sonar-web/src/main/js/libs/third-party/d3.js diff --git a/server/sonar-web/src/main/js/third-party/handlebars.js b/server/sonar-web/src/main/js/libs/third-party/handlebars.js similarity index 100% rename from server/sonar-web/src/main/js/third-party/handlebars.js rename to server/sonar-web/src/main/js/libs/third-party/handlebars.js diff --git a/server/sonar-web/src/main/js/third-party/jquery-ui.js b/server/sonar-web/src/main/js/libs/third-party/jquery-ui.js similarity index 100% rename from server/sonar-web/src/main/js/third-party/jquery-ui.js rename to server/sonar-web/src/main/js/libs/third-party/jquery-ui.js diff --git a/server/sonar-web/src/main/js/third-party/jquery.js b/server/sonar-web/src/main/js/libs/third-party/jquery.js similarity index 100% rename from server/sonar-web/src/main/js/third-party/jquery.js rename to server/sonar-web/src/main/js/libs/third-party/jquery.js diff --git a/server/sonar-web/src/main/js/third-party/jquery.mockjax.js b/server/sonar-web/src/main/js/libs/third-party/jquery.mockjax.js similarity index 100% rename from server/sonar-web/src/main/js/third-party/jquery.mockjax.js rename to server/sonar-web/src/main/js/libs/third-party/jquery.mockjax.js diff --git a/server/sonar-web/src/main/js/third-party/keymaster.js b/server/sonar-web/src/main/js/libs/third-party/keymaster.js similarity index 100% rename from server/sonar-web/src/main/js/third-party/keymaster.js rename to server/sonar-web/src/main/js/libs/third-party/keymaster.js diff --git a/server/sonar-web/src/main/js/third-party/latinize.js b/server/sonar-web/src/main/js/libs/third-party/latinize.js similarity index 100% rename from server/sonar-web/src/main/js/third-party/latinize.js rename to server/sonar-web/src/main/js/libs/third-party/latinize.js diff --git a/server/sonar-web/src/main/js/third-party/moment.js b/server/sonar-web/src/main/js/libs/third-party/moment.js similarity index 100% rename from server/sonar-web/src/main/js/third-party/moment.js rename to server/sonar-web/src/main/js/libs/third-party/moment.js diff --git a/server/sonar-web/src/main/js/third-party/numeral-languages.js b/server/sonar-web/src/main/js/libs/third-party/numeral-languages.js similarity index 100% rename from server/sonar-web/src/main/js/third-party/numeral-languages.js rename to server/sonar-web/src/main/js/libs/third-party/numeral-languages.js diff --git a/server/sonar-web/src/main/js/third-party/numeral.js b/server/sonar-web/src/main/js/libs/third-party/numeral.js similarity index 100% rename from server/sonar-web/src/main/js/third-party/numeral.js rename to server/sonar-web/src/main/js/libs/third-party/numeral.js diff --git a/server/sonar-web/src/main/js/third-party/select2.js b/server/sonar-web/src/main/js/libs/third-party/select2.js similarity index 100% rename from server/sonar-web/src/main/js/third-party/select2.js rename to server/sonar-web/src/main/js/libs/third-party/select2.js diff --git a/server/sonar-web/src/main/js/third-party/underscore.js b/server/sonar-web/src/main/js/libs/third-party/underscore.js similarity index 100% rename from server/sonar-web/src/main/js/third-party/underscore.js rename to server/sonar-web/src/main/js/libs/third-party/underscore.js diff --git a/server/sonar-web/src/main/js/translate.js b/server/sonar-web/src/main/js/libs/translate.js similarity index 100% rename from server/sonar-web/src/main/js/translate.js rename to server/sonar-web/src/main/js/libs/translate.js diff --git a/server/sonar-web/src/main/js/widgets/bubble-chart.js b/server/sonar-web/src/main/js/libs/widgets/bubble-chart.js similarity index 100% rename from server/sonar-web/src/main/js/widgets/bubble-chart.js rename to server/sonar-web/src/main/js/libs/widgets/bubble-chart.js diff --git a/server/sonar-web/src/main/js/widgets/pie-chart.js b/server/sonar-web/src/main/js/libs/widgets/pie-chart.js similarity index 100% rename from server/sonar-web/src/main/js/widgets/pie-chart.js rename to server/sonar-web/src/main/js/libs/widgets/pie-chart.js diff --git a/server/sonar-web/src/main/js/widgets/stack-area.js b/server/sonar-web/src/main/js/libs/widgets/stack-area.js similarity index 100% rename from server/sonar-web/src/main/js/widgets/stack-area.js rename to server/sonar-web/src/main/js/libs/widgets/stack-area.js diff --git a/server/sonar-web/src/main/js/widgets/timeline.js b/server/sonar-web/src/main/js/libs/widgets/timeline.js similarity index 100% rename from server/sonar-web/src/main/js/widgets/timeline.js rename to server/sonar-web/src/main/js/libs/widgets/timeline.js diff --git a/server/sonar-web/src/main/js/widgets/widget.js b/server/sonar-web/src/main/js/libs/widgets/widget.js similarity index 100% rename from server/sonar-web/src/main/js/widgets/widget.js rename to server/sonar-web/src/main/js/libs/widgets/widget.js diff --git a/server/sonar-web/src/main/js/require.js b/server/sonar-web/src/main/js/require.js deleted file mode 100644 index b6b5e6d94c0..00000000000 --- a/server/sonar-web/src/main/js/require.js +++ /dev/null @@ -1,55 +0,0 @@ -/* - * SonarQube, open source software quality management tool. - * Copyright (C) 2008-2014 SonarSource - * mailto:contact AT sonarsource DOT com - * - * SonarQube is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * SonarQube is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -/* - RequireJS 2.1.10 Copyright (c) 2010-2014, The Dojo Foundation All Rights Reserved. - Available via the MIT or new BSD license. - see: http://github.com/jrburke/requirejs for details -*/ -var requirejs,require,define; -(function(ca){function G(b){return"[object Function]"===N.call(b)}function H(b){return"[object Array]"===N.call(b)}function v(b,c){if(b){var d;for(d=0;dthis.depCount&&!this.defined){if(G(c)){if(this.events.error&&this.map.isDefine||h.onError!==da)try{f=i.execCb(b,c,e,f)}catch(d){a=d}else f=i.execCb(b,c,e,f);this.map.isDefine&&void 0===f&&((e=this.module)?f=e.exports:this.usingExports&& -(f=this.exports));if(a)return a.requireMap=this.map,a.requireModules=this.map.isDefine?[this.map.id]:null,a.requireType=this.map.isDefine?"define":"require",w(this.error=a)}else f=c;this.exports=f;if(this.map.isDefine&&!this.ignore&&(p[b]=f,h.onResourceLoad))h.onResourceLoad(i,this.map,this.depMaps);y(b);this.defined=!0}this.defining=!1;this.defined&&!this.defineEmitted&&(this.defineEmitted=!0,this.emit("defined",this.exports),this.defineEmitComplete=!0)}}else this.fetch()}},callPlugin:function(){var a= -this.map,b=a.id,d=m(a.prefix);this.depMaps.push(d);r(d,"defined",t(this,function(f){var d,g;g=j(ba,this.map.id);var J=this.map.name,u=this.map.parentMap?this.map.parentMap.name:null,p=i.makeRequire(a.parentMap,{enableBuildCallback:!0});if(this.map.unnormalized){if(f.normalize&&(J=f.normalize(J,function(a){return c(a,u,!0)})||""),f=m(a.prefix+"!"+J,this.map.parentMap),r(f,"defined",t(this,function(a){this.init([],function(){return a},null,{enabled:!0,ignore:!0})})),g=j(k,f.id)){this.depMaps.push(f); -if(this.events.error)g.on("error",t(this,function(a){this.emit("error",a)}));g.enable()}}else g?(this.map.url=i.nameToUrl(g),this.load()):(d=t(this,function(a){this.init([],function(){return a},null,{enabled:!0})}),d.error=t(this,function(a){this.inited=!0;this.error=a;a.requireModules=[b];B(k,function(a){0===a.map.id.indexOf(b+"_unnormalized")&&y(a.map.id)});w(a)}),d.fromText=t(this,function(f,c){var g=a.name,J=m(g),k=O;c&&(f=c);k&&(O=!1);q(J);s(l.config,b)&&(l.config[g]=l.config[b]);try{h.exec(f)}catch(j){return w(C("fromtexteval", -"fromText eval for "+b+" failed: "+j,j,[b]))}k&&(O=!0);this.depMaps.push(J);i.completeLoad(g);p([g],d)}),f.load(a.name,p,d,l))}));i.enable(d,this);this.pluginMaps[d.id]=d},enable:function(){W[this.map.id]=this;this.enabling=this.enabled=!0;v(this.depMaps,t(this,function(a,b){var c,f;if("string"===typeof a){a=m(a,this.map.isDefine?this.map:this.map.parentMap,!1,!this.skipMap);this.depMaps[b]=a;if(c=j(K,a.id)){this.depExports[b]=c(this);return}this.depCount+=1;r(a,"defined",t(this,function(a){this.defineDep(b, -a);this.check()}));this.errback&&r(a,"error",t(this,this.errback))}c=a.id;f=k[c];!s(K,c)&&(f&&!f.enabled)&&i.enable(a,this)}));B(this.pluginMaps,t(this,function(a){var b=j(k,a.id);b&&!b.enabled&&i.enable(a,this)}));this.enabling=!1;this.check()},on:function(a,b){var c=this.events[a];c||(c=this.events[a]=[]);c.push(b)},emit:function(a,b){v(this.events[a],function(a){a(b)});"error"===a&&delete this.events[a]}};i={config:l,contextName:b,registry:k,defined:p,urlFetched:T,defQueue:A,Module:$,makeModuleMap:m, -nextTick:h.nextTick,onError:w,configure:function(a){a.baseUrl&&"/"!==a.baseUrl.charAt(a.baseUrl.length-1)&&(a.baseUrl+="/");var b=l.shim,c={paths:!0,bundles:!0,config:!0,map:!0};B(a,function(a,b){c[b]?(l[b]||(l[b]={}),V(l[b],a,!0,!0)):l[b]=a});a.bundles&&B(a.bundles,function(a,b){v(a,function(a){a!==b&&(ba[a]=b)})});a.shim&&(B(a.shim,function(a,c){H(a)&&(a={deps:a});if((a.exports||a.init)&&!a.exportsFn)a.exportsFn=i.makeShimExports(a);b[c]=a}),l.shim=b);a.packages&&v(a.packages,function(a){var b, -a="string"===typeof a?{name:a}:a;b=a.name;a.location&&(l.paths[b]=a.location);l.pkgs[b]=a.name+"/"+(a.main||"main").replace(ja,"").replace(R,"")});B(k,function(a,b){!a.inited&&!a.map.unnormalized&&(a.map=m(b))});if(a.deps||a.callback)i.require(a.deps||[],a.callback)},makeShimExports:function(a){return function(){var b;a.init&&(b=a.init.apply(ca,arguments));return b||a.exports&&ea(a.exports)}},makeRequire:function(a,e){function g(f,c,d){var j,l;e.enableBuildCallback&&(c&&G(c))&&(c.__requireJsBuild= -!0);if("string"===typeof f){if(G(c))return w(C("requireargs","Invalid require call"),d);if(a&&s(K,f))return K[f](k[a.id]);if(h.get)return h.get(i,f,a,g);j=m(f,a,!1,!0);j=j.id;return!s(p,j)?w(C("notloaded",'Module name "'+j+'" has not been loaded yet for context: '+b+(a?"":". Use require([])"))):p[j]}M();i.nextTick(function(){M();l=q(m(null,a));l.skipMap=e.skipMap;l.init(f,c,d,{enabled:!0});D()});return g}e=e||{};V(g,{isBrowser:z,toUrl:function(b){var e,d=b.lastIndexOf("."),g=b.split("/")[0];if(-1!== -d&&(!("."===g||".."===g)||1g.attachEvent.toString().indexOf("[native code"))&&!Z?(O=!0,g.attachEvent("onreadystatechange",b.onScriptLoad)): -(g.addEventListener("load",b.onScriptLoad,!1),g.addEventListener("error",b.onScriptError,!1)),g.src=d,M=g,D?y.insertBefore(g,D):y.appendChild(g),M=null,g;if(fa)try{importScripts(d),b.completeLoad(c)}catch(j){b.onError(C("importscripts","importScripts failed for "+c+" at "+d,j,[c]))}};z&&!r.skipDataMain&&U(document.getElementsByTagName("script"),function(b){y||(y=b.parentNode);if(L=b.getAttribute("data-main"))return q=L,r.baseUrl||(E=q.split("/"),q=E.pop(),Q=E.length?E.join("/")+"/":"./",r.baseUrl= -Q),q=q.replace(R,""),h.jsExtRegExp.test(q)&&(q=L),r.deps=r.deps?r.deps.concat(q):[q],!0});define=function(b,c,d){var g,h;"string"!==typeof b&&(d=c,c=b,b=null);H(c)||(d=c,c=null);!c&&G(d)&&(c=[],d.length&&(d.toString().replace(la,"").replace(ma,function(b,d){c.push(d)}),c=(1===d.length?["require"]:["require","exports","module"]).concat(c)));if(O){if(!(g=M))P&&"interactive"===P.readyState||U(document.getElementsByTagName("script"),function(b){if("interactive"===b.readyState)return P=b}),g=P;g&&(b|| -(b=g.getAttribute("data-requiremodule")),h=F[g.getAttribute("data-requirecontext")])}(h?h.defQueue:S).push([b,c,d])};define.amd={jQuery:!0};h.exec=function(b){return eval(b)};h(r)}})(this); diff --git a/server/sonar-web/src/main/hbs/widgets/_widget-issue-filter-limit.hbs b/server/sonar-web/src/main/js/widgets/issue-filter/templates/_widget-issue-filter-limit.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/widgets/_widget-issue-filter-limit.hbs rename to server/sonar-web/src/main/js/widgets/issue-filter/templates/_widget-issue-filter-limit.hbs diff --git a/server/sonar-web/src/main/hbs/widgets/_widget-issue-filter-total.hbs b/server/sonar-web/src/main/js/widgets/issue-filter/templates/_widget-issue-filter-total.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/widgets/_widget-issue-filter-total.hbs rename to server/sonar-web/src/main/js/widgets/issue-filter/templates/_widget-issue-filter-total.hbs diff --git a/server/sonar-web/src/main/hbs/widgets/widget-issue-filter-action-plans.hbs b/server/sonar-web/src/main/js/widgets/issue-filter/templates/widget-issue-filter-action-plans.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/widgets/widget-issue-filter-action-plans.hbs rename to server/sonar-web/src/main/js/widgets/issue-filter/templates/widget-issue-filter-action-plans.hbs diff --git a/server/sonar-web/src/main/hbs/widgets/widget-issue-filter-assignees.hbs b/server/sonar-web/src/main/js/widgets/issue-filter/templates/widget-issue-filter-assignees.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/widgets/widget-issue-filter-assignees.hbs rename to server/sonar-web/src/main/js/widgets/issue-filter/templates/widget-issue-filter-assignees.hbs diff --git a/server/sonar-web/src/main/hbs/widgets/widget-issue-filter-resolutions.hbs b/server/sonar-web/src/main/js/widgets/issue-filter/templates/widget-issue-filter-resolutions.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/widgets/widget-issue-filter-resolutions.hbs rename to server/sonar-web/src/main/js/widgets/issue-filter/templates/widget-issue-filter-resolutions.hbs diff --git a/server/sonar-web/src/main/hbs/widgets/widget-issue-filter-severities.hbs b/server/sonar-web/src/main/js/widgets/issue-filter/templates/widget-issue-filter-severities.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/widgets/widget-issue-filter-severities.hbs rename to server/sonar-web/src/main/js/widgets/issue-filter/templates/widget-issue-filter-severities.hbs diff --git a/server/sonar-web/src/main/hbs/widgets/widget-issue-filter-statuses.hbs b/server/sonar-web/src/main/js/widgets/issue-filter/templates/widget-issue-filter-statuses.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/widgets/widget-issue-filter-statuses.hbs rename to server/sonar-web/src/main/js/widgets/issue-filter/templates/widget-issue-filter-statuses.hbs diff --git a/server/sonar-web/src/main/hbs/widgets/widget-issue-filter.hbs b/server/sonar-web/src/main/js/widgets/issue-filter/templates/widget-issue-filter.hbs similarity index 100% rename from server/sonar-web/src/main/hbs/widgets/widget-issue-filter.hbs rename to server/sonar-web/src/main/js/widgets/issue-filter/templates/widget-issue-filter.hbs diff --git a/server/sonar-web/src/main/js/widgets/issue-filter.js b/server/sonar-web/src/main/js/widgets/issue-filter/widget.js similarity index 99% rename from server/sonar-web/src/main/js/widgets/issue-filter.js rename to server/sonar-web/src/main/js/widgets/issue-filter/widget.js index cea0f151b50..2fb96c7d2e7 100644 --- a/server/sonar-web/src/main/js/widgets/issue-filter.js +++ b/server/sonar-web/src/main/js/widgets/issue-filter/widget.js @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -define(['templates/widgets'], function () { +define(['./templates'], function () { var $ = jQuery, FACET_LIMIT = 15, diff --git a/server/sonar-web/src/main/webapp/WEB-INF/app/views/analysis_reports/index.html.erb b/server/sonar-web/src/main/webapp/WEB-INF/app/views/analysis_reports/index.html.erb index 299a2477dd4..ed62d9a203e 100644 --- a/server/sonar-web/src/main/webapp/WEB-INF/app/views/analysis_reports/index.html.erb +++ b/server/sonar-web/src/main/webapp/WEB-INF/app/views/analysis_reports/index.html.erb @@ -1,5 +1,5 @@ <% content_for :script do %> - + <% end %> diff --git a/server/sonar-web/src/main/webapp/WEB-INF/app/views/api_documentation/index.html.erb b/server/sonar-web/src/main/webapp/WEB-INF/app/views/api_documentation/index.html.erb index c46a284b206..7bfd62ed9f8 100644 --- a/server/sonar-web/src/main/webapp/WEB-INF/app/views/api_documentation/index.html.erb +++ b/server/sonar-web/src/main/webapp/WEB-INF/app/views/api_documentation/index.html.erb @@ -1,6 +1,6 @@
diff --git a/server/sonar-web/src/main/webapp/WEB-INF/app/views/coding_rules/index.html.erb b/server/sonar-web/src/main/webapp/WEB-INF/app/views/coding_rules/index.html.erb index a7d9e3027b1..0f07b74d78a 100644 --- a/server/sonar-web/src/main/webapp/WEB-INF/app/views/coding_rules/index.html.erb +++ b/server/sonar-web/src/main/webapp/WEB-INF/app/views/coding_rules/index.html.erb @@ -1,5 +1,5 @@ <% content_for :script do %> - + <% end %> diff --git a/server/sonar-web/src/main/webapp/WEB-INF/app/views/component/index.html.erb b/server/sonar-web/src/main/webapp/WEB-INF/app/views/component/index.html.erb index f9f2b8941a9..3711e3ebb46 100644 --- a/server/sonar-web/src/main/webapp/WEB-INF/app/views/component/index.html.erb +++ b/server/sonar-web/src/main/webapp/WEB-INF/app/views/component/index.html.erb @@ -1,5 +1,5 @@ <% content_for :script do %> - + <% end %>
diff --git a/server/sonar-web/src/main/webapp/WEB-INF/app/views/component_issues/index.html.erb b/server/sonar-web/src/main/webapp/WEB-INF/app/views/component_issues/index.html.erb index a4a615f8d48..f5d868da748 100644 --- a/server/sonar-web/src/main/webapp/WEB-INF/app/views/component_issues/index.html.erb +++ b/server/sonar-web/src/main/webapp/WEB-INF/app/views/component_issues/index.html.erb @@ -1,5 +1,5 @@ <% content_for :script do %> - + <% end %>
diff --git a/server/sonar-web/src/main/webapp/WEB-INF/app/views/dashboard/no_dashboard.html.erb b/server/sonar-web/src/main/webapp/WEB-INF/app/views/dashboard/no_dashboard.html.erb index ecef10c64d7..9e5e7efc3db 100644 --- a/server/sonar-web/src/main/webapp/WEB-INF/app/views/dashboard/no_dashboard.html.erb +++ b/server/sonar-web/src/main/webapp/WEB-INF/app/views/dashboard/no_dashboard.html.erb @@ -1,5 +1,5 @@ <% content_for :script do %> - + <% end %>
diff --git a/server/sonar-web/src/main/webapp/WEB-INF/app/views/drilldown/measures.html.erb b/server/sonar-web/src/main/webapp/WEB-INF/app/views/drilldown/measures.html.erb index 4c90ff7e1cc..a074dfb2ae1 100644 --- a/server/sonar-web/src/main/webapp/WEB-INF/app/views/drilldown/measures.html.erb +++ b/server/sonar-web/src/main/webapp/WEB-INF/app/views/drilldown/measures.html.erb @@ -1,5 +1,5 @@ <% content_for :script do %> - + <% end %>
diff --git a/server/sonar-web/src/main/webapp/WEB-INF/app/views/groups/index.html.erb b/server/sonar-web/src/main/webapp/WEB-INF/app/views/groups/index.html.erb index 4f491935685..fbf1a00fa7e 100644 --- a/server/sonar-web/src/main/webapp/WEB-INF/app/views/groups/index.html.erb +++ b/server/sonar-web/src/main/webapp/WEB-INF/app/views/groups/index.html.erb @@ -1,5 +1,5 @@ <% content_for :script do %> - + <% end %>
diff --git a/server/sonar-web/src/main/webapp/WEB-INF/app/views/issues/search.html.erb b/server/sonar-web/src/main/webapp/WEB-INF/app/views/issues/search.html.erb index 5741c2c169a..e3fc653252b 100644 --- a/server/sonar-web/src/main/webapp/WEB-INF/app/views/issues/search.html.erb +++ b/server/sonar-web/src/main/webapp/WEB-INF/app/views/issues/search.html.erb @@ -1,5 +1,5 @@ <% content_for :script do %> - + <% end %>
diff --git a/server/sonar-web/src/main/webapp/WEB-INF/app/views/layouts/_head.html.erb b/server/sonar-web/src/main/webapp/WEB-INF/app/views/layouts/_head.html.erb index f4c66cc01b4..7c8dd530efa 100644 --- a/server/sonar-web/src/main/webapp/WEB-INF/app/views/layouts/_head.html.erb +++ b/server/sonar-web/src/main/webapp/WEB-INF/app/views/layouts/_head.html.erb @@ -36,9 +36,6 @@ $j(document).ready(function () {$j('.open-modal').modal()}); moment.lang(window.pageLang); numeral.language(window.pageLang); - - - diff --git a/server/sonar-web/src/main/webapp/WEB-INF/app/views/markdown/help.html.erb b/server/sonar-web/src/main/webapp/WEB-INF/app/views/markdown/help.html.erb index 7c85dbec572..662ff4366d1 100644 --- a/server/sonar-web/src/main/webapp/WEB-INF/app/views/markdown/help.html.erb +++ b/server/sonar-web/src/main/webapp/WEB-INF/app/views/markdown/help.html.erb @@ -1,6 +1,6 @@
diff --git a/server/sonar-web/src/main/webapp/WEB-INF/app/views/measures/search.html.erb b/server/sonar-web/src/main/webapp/WEB-INF/app/views/measures/search.html.erb index bbdaaeb8b22..6d112e7e909 100644 --- a/server/sonar-web/src/main/webapp/WEB-INF/app/views/measures/search.html.erb +++ b/server/sonar-web/src/main/webapp/WEB-INF/app/views/measures/search.html.erb @@ -1,5 +1,5 @@ <% content_for :script do %> - + <% end %> diff --git a/server/sonar-web/src/main/webapp/WEB-INF/app/views/permission_templates/index.html.erb b/server/sonar-web/src/main/webapp/WEB-INF/app/views/permission_templates/index.html.erb index c246e348b57..8f7b4840298 100644 --- a/server/sonar-web/src/main/webapp/WEB-INF/app/views/permission_templates/index.html.erb +++ b/server/sonar-web/src/main/webapp/WEB-INF/app/views/permission_templates/index.html.erb @@ -1,5 +1,5 @@ <% content_for :script do %> - + <% end %>
diff --git a/server/sonar-web/src/main/webapp/WEB-INF/app/views/profiles/index.html.erb b/server/sonar-web/src/main/webapp/WEB-INF/app/views/profiles/index.html.erb index 3084e764ef1..da8d581d78a 100644 --- a/server/sonar-web/src/main/webapp/WEB-INF/app/views/profiles/index.html.erb +++ b/server/sonar-web/src/main/webapp/WEB-INF/app/views/profiles/index.html.erb @@ -1,5 +1,5 @@ <% content_for :script do %> - + <% end %>
diff --git a/server/sonar-web/src/main/webapp/WEB-INF/app/views/project_roles/index.html.erb b/server/sonar-web/src/main/webapp/WEB-INF/app/views/project_roles/index.html.erb index 2d9a8ce8a7f..b8cbab776b0 100644 --- a/server/sonar-web/src/main/webapp/WEB-INF/app/views/project_roles/index.html.erb +++ b/server/sonar-web/src/main/webapp/WEB-INF/app/views/project_roles/index.html.erb @@ -1,5 +1,5 @@ <% content_for :script do %> - + <% end %>
diff --git a/server/sonar-web/src/main/webapp/WEB-INF/app/views/quality_gates/index.html.erb b/server/sonar-web/src/main/webapp/WEB-INF/app/views/quality_gates/index.html.erb index 181ab0efae2..588f7c3ba25 100644 --- a/server/sonar-web/src/main/webapp/WEB-INF/app/views/quality_gates/index.html.erb +++ b/server/sonar-web/src/main/webapp/WEB-INF/app/views/quality_gates/index.html.erb @@ -1,5 +1,5 @@ <% content_for :script do %> - + <% end %>
diff --git a/server/sonar-web/src/main/webapp/WEB-INF/app/views/roles/global.html.erb b/server/sonar-web/src/main/webapp/WEB-INF/app/views/roles/global.html.erb index 8aac9062c44..947f288de71 100644 --- a/server/sonar-web/src/main/webapp/WEB-INF/app/views/roles/global.html.erb +++ b/server/sonar-web/src/main/webapp/WEB-INF/app/views/roles/global.html.erb @@ -1,5 +1,5 @@ <% content_for :script do %> - + <% end %>
diff --git a/server/sonar-web/src/main/webapp/WEB-INF/app/views/roles/projects.html.erb b/server/sonar-web/src/main/webapp/WEB-INF/app/views/roles/projects.html.erb index abc5db3d9d7..b383932b5a5 100644 --- a/server/sonar-web/src/main/webapp/WEB-INF/app/views/roles/projects.html.erb +++ b/server/sonar-web/src/main/webapp/WEB-INF/app/views/roles/projects.html.erb @@ -1,5 +1,5 @@ <% content_for :script do %> - + <% end %>
diff --git a/server/sonar-web/src/main/webapp/WEB-INF/app/views/users/index.html.erb b/server/sonar-web/src/main/webapp/WEB-INF/app/views/users/index.html.erb index e1038037331..59ac4c82243 100644 --- a/server/sonar-web/src/main/webapp/WEB-INF/app/views/users/index.html.erb +++ b/server/sonar-web/src/main/webapp/WEB-INF/app/views/users/index.html.erb @@ -1,5 +1,5 @@ <% content_for :script do %> - + <% end %>
diff --git a/server/sonar-web/src/test/js/api-documentation-spec.js b/server/sonar-web/src/test/js/api-documentation-spec.js index 587bff3a72a..215d5c4e469 100644 --- a/server/sonar-web/src/test/js/api-documentation-spec.js +++ b/server/sonar-web/src/test/js/api-documentation-spec.js @@ -37,7 +37,7 @@ casper.test.begin(testName('Should Show List'), 12, function (test) { .then(function () { casper.evaluate(function () { - require(['/js/api-documentation/app.js'], function (App) { + require(['apps/api-documentation/app'], function (App) { App.start({ el: '#api-documentation' }); }); }); @@ -94,7 +94,7 @@ casper.test.begin(testName('Should Show Actions'), 10, function (test) { .then(function () { casper.evaluate(function () { - require(['/js/api-documentation/app.js'], function (App) { + require(['apps/api-documentation/app'], function (App) { App.start({ el: '#api-documentation' }); }); }); @@ -142,7 +142,7 @@ casper.test.begin(testName('Should Show Example Response'), 1, function (test) { .then(function () { casper.evaluate(function () { - require(['/js/api-documentation/app.js'], function (App) { + require(['apps/api-documentation/app'], function (App) { App.start({ el: '#api-documentation' }); }); }); @@ -182,7 +182,7 @@ casper.test.begin(testName('Web Service Permalink'), 1, function (test) { .then(function () { casper.evaluate(function () { - require(['/js/api-documentation/app.js'], function (App) { + require(['apps/api-documentation/app'], function (App) { App.start({ el: '#api-documentation' }); }); }); @@ -216,7 +216,7 @@ casper.test.begin(testName('Action Permalink'), 1, function (test) { .then(function () { casper.evaluate(function () { - require(['/js/api-documentation/app.js'], function (App) { + require(['apps/api-documentation/app'], function (App) { App.start({ el: '#api-documentation' }); }); }); diff --git a/server/sonar-web/src/test/js/coding-rules-page-active-severity-facet.js b/server/sonar-web/src/test/js/coding-rules-page-active-severity-facet.js index 9651b9da30a..995bcc50e32 100644 --- a/server/sonar-web/src/test/js/coding-rules-page-active-severity-facet.js +++ b/server/sonar-web/src/test/js/coding-rules-page-active-severity-facet.js @@ -42,7 +42,7 @@ casper.test.begin('coding-rules-page-active-severity-facet', 7, function (test) .then(function () { casper.evaluate(function () { - require(['/js/coding-rules/app.js']); + require(['apps/coding-rules/app']); }); }) diff --git a/server/sonar-web/src/test/js/coding-rules-page-available-since.js b/server/sonar-web/src/test/js/coding-rules-page-available-since.js index 9457b01a4d8..7ebd9ec5e86 100644 --- a/server/sonar-web/src/test/js/coding-rules-page-available-since.js +++ b/server/sonar-web/src/test/js/coding-rules-page-available-since.js @@ -40,7 +40,7 @@ casper.test.begin('coding-rules-page-available-since', 2, function (test) { .then(function () { casper.evaluate(function () { - require(['/js/coding-rules/app.js']); + require(['apps/coding-rules/app']); }); }) diff --git a/server/sonar-web/src/test/js/coding-rules-page-bulk-change.js b/server/sonar-web/src/test/js/coding-rules-page-bulk-change.js index 1bb77b479fb..a1f358d7de0 100644 --- a/server/sonar-web/src/test/js/coding-rules-page-bulk-change.js +++ b/server/sonar-web/src/test/js/coding-rules-page-bulk-change.js @@ -40,7 +40,7 @@ casper.test.begin(testName('Activate', 'Success'), function (test) { .then(function () { casper.evaluate(function () { - require(['/js/coding-rules/app.js']); + require(['apps/coding-rules/app']); jQuery.ajaxSetup({ dataType: 'json' }); }); }) @@ -106,7 +106,7 @@ casper.test.begin(testName('Activate', 'Failed'), function (test) { .then(function () { casper.evaluate(function () { - require(['/js/coding-rules/app.js']); + require(['apps/coding-rules/app']); jQuery.ajaxSetup({ dataType: 'json' }); }); }) @@ -170,7 +170,7 @@ casper.test.begin(testName('Filter Profiles by Language'), 4, function (test) { .then(function () { casper.evaluate(function () { - require(['/js/coding-rules/app.js']); + require(['apps/coding-rules/app']); jQuery.ajaxSetup({ dataType: 'json' }); }); }) @@ -224,7 +224,7 @@ casper.test.begin(testName('Change Selected Profile'), 4, function (test) { .then(function () { casper.evaluate(function () { - require(['/js/coding-rules/app.js']); + require(['apps/coding-rules/app']); jQuery.ajaxSetup({ dataType: 'json' }); }); }) diff --git a/server/sonar-web/src/test/js/coding-rules-page-facets.js b/server/sonar-web/src/test/js/coding-rules-page-facets.js index e310eff294a..89e9d6335ca 100644 --- a/server/sonar-web/src/test/js/coding-rules-page-facets.js +++ b/server/sonar-web/src/test/js/coding-rules-page-facets.js @@ -52,7 +52,7 @@ casper.test.begin(testName('Characteristic'), 6, function (test) { .then(function () { casper.evaluate(function () { - require(['/js/coding-rules/app.js']); + require(['apps/coding-rules/app']); jQuery.ajaxSetup({ dataType: 'json' }); }); }) @@ -129,7 +129,7 @@ casper.test.begin(testName('Characteristic', 'Disable'), 6, function (test) { .then(function () { casper.evaluate(function () { - require(['/js/coding-rules/app.js']); + require(['apps/coding-rules/app']); jQuery.ajaxSetup({ dataType: 'json' }); }); }) @@ -233,7 +233,7 @@ casper.test.begin(testName('Template'), 4, function (test) { .then(function () { casper.evaluate(function () { - require(['/js/coding-rules/app.js']); + require(['apps/coding-rules/app']); jQuery.ajaxSetup({ dataType: 'json' }); }); }) @@ -302,7 +302,7 @@ casper.test.begin(testName('Language'), function (test) { .then(function () { casper.evaluate(function () { - require(['/js/coding-rules/app.js']); + require(['apps/coding-rules/app']); jQuery.ajaxSetup({ dataType: 'json' }); }); }) diff --git a/server/sonar-web/src/test/js/coding-rules-page-header.js b/server/sonar-web/src/test/js/coding-rules-page-header.js index 0cd140a460e..991469ac464 100644 --- a/server/sonar-web/src/test/js/coding-rules-page-header.js +++ b/server/sonar-web/src/test/js/coding-rules-page-header.js @@ -39,7 +39,7 @@ casper.test.begin(testName('Reload'), 2, function (test) { .then(function () { casper.evaluate(function () { - require(['/js/coding-rules/app.js']); + require(['apps/coding-rules/app']); jQuery.ajaxSetup({ dataType: 'json' }); }); }) @@ -83,7 +83,7 @@ casper.test.begin(testName('New Search'), 3, function (test) { .then(function () { casper.evaluate(function () { - require(['/js/coding-rules/app.js']); + require(['apps/coding-rules/app']); jQuery.ajaxSetup({ dataType: 'json' }); }); }) @@ -131,7 +131,7 @@ casper.test.begin(testName('Go Back'), 2, function (test) { .then(function () { casper.evaluate(function () { - require(['/js/coding-rules/app.js']); + require(['apps/coding-rules/app']); jQuery.ajaxSetup({ dataType: 'json' }); }); }) diff --git a/server/sonar-web/src/test/js/coding-rules-page-inheritance-facet.js b/server/sonar-web/src/test/js/coding-rules-page-inheritance-facet.js index c8c03e2d001..f2d0c43907d 100644 --- a/server/sonar-web/src/test/js/coding-rules-page-inheritance-facet.js +++ b/server/sonar-web/src/test/js/coding-rules-page-inheritance-facet.js @@ -45,7 +45,7 @@ casper.test.begin('coding-rules-page-inheritance-facet', 11, function (test) { .then(function () { casper.evaluate(function () { - require(['/js/coding-rules/app.js']); + require(['apps/coding-rules/app']); }); }) diff --git a/server/sonar-web/src/test/js/coding-rules-page-list-actions.js b/server/sonar-web/src/test/js/coding-rules-page-list-actions.js index fa93ee71fef..8296bf7ddcd 100644 --- a/server/sonar-web/src/test/js/coding-rules-page-list-actions.js +++ b/server/sonar-web/src/test/js/coding-rules-page-list-actions.js @@ -40,7 +40,7 @@ casper.test.begin(testName('Show Activation Details'), 6, function (test) { .then(function () { casper.evaluate(function () { - require(['/js/coding-rules/app.js']); + require(['apps/coding-rules/app']); jQuery.ajaxSetup({ dataType: 'json' }); }); }) @@ -92,7 +92,7 @@ casper.test.begin(testName('Activate'), 9, function (test) { .then(function () { casper.evaluate(function () { - require(['/js/coding-rules/app.js']); + require(['apps/coding-rules/app']); jQuery.ajaxSetup({ dataType: 'json' }); }); }) @@ -158,7 +158,7 @@ casper.test.begin(testName('Deactivate'), 6, function (test) { .then(function () { casper.evaluate(function () { - require(['/js/coding-rules/app.js']); + require(['apps/coding-rules/app']); jQuery.ajaxSetup({ dataType: 'json' }); }); }) diff --git a/server/sonar-web/src/test/js/coding-rules-page-no-available-profiles-for-activation.js b/server/sonar-web/src/test/js/coding-rules-page-no-available-profiles-for-activation.js index 9dce234cda6..207a4a32eb3 100644 --- a/server/sonar-web/src/test/js/coding-rules-page-no-available-profiles-for-activation.js +++ b/server/sonar-web/src/test/js/coding-rules-page-no-available-profiles-for-activation.js @@ -40,7 +40,7 @@ casper.test.begin('coding-rules-page-no-available-profiles-for-activation', 2, f .then(function () { casper.evaluate(function () { - require(['/js/coding-rules/app.js']); + require(['apps/coding-rules/app']); }); }) diff --git a/server/sonar-web/src/test/js/coding-rules-page-quality-profile-facet.js b/server/sonar-web/src/test/js/coding-rules-page-quality-profile-facet.js index 1abe773522f..22d457d4376 100644 --- a/server/sonar-web/src/test/js/coding-rules-page-quality-profile-facet.js +++ b/server/sonar-web/src/test/js/coding-rules-page-quality-profile-facet.js @@ -42,7 +42,7 @@ casper.test.begin('coding-rules-page-quality-profile-facet', 6, function (test) .then(function () { casper.evaluate(function () { - require(['/js/coding-rules/app.js']); + require(['apps/coding-rules/app']); }); }) diff --git a/server/sonar-web/src/test/js/coding-rules-page-query-facet.js b/server/sonar-web/src/test/js/coding-rules-page-query-facet.js index de0f78b9b31..13590c3e7e4 100644 --- a/server/sonar-web/src/test/js/coding-rules-page-query-facet.js +++ b/server/sonar-web/src/test/js/coding-rules-page-query-facet.js @@ -39,7 +39,7 @@ casper.test.begin('coding-rules-page-query-facet', 3, function (test) { .then(function () { casper.evaluate(function () { - require(['/js/coding-rules/app.js']); + require(['apps/coding-rules/app']); }); }) diff --git a/server/sonar-web/src/test/js/coding-rules-page-rule-should-have-permalink.js b/server/sonar-web/src/test/js/coding-rules-page-rule-should-have-permalink.js index 5f09d634260..313b505486f 100644 --- a/server/sonar-web/src/test/js/coding-rules-page-rule-should-have-permalink.js +++ b/server/sonar-web/src/test/js/coding-rules-page-rule-should-have-permalink.js @@ -40,7 +40,7 @@ casper.test.begin('coding-rules-page-rule-permalink', 1, function (test) { .then(function () { casper.evaluate(function () { - require(['/js/coding-rules/app.js']); + require(['apps/coding-rules/app']); }); }) diff --git a/server/sonar-web/src/test/js/coding-rules-page-should-activate-profile.js b/server/sonar-web/src/test/js/coding-rules-page-should-activate-profile.js index 05883c4974b..d6f2a74939b 100644 --- a/server/sonar-web/src/test/js/coding-rules-page-should-activate-profile.js +++ b/server/sonar-web/src/test/js/coding-rules-page-should-activate-profile.js @@ -41,7 +41,7 @@ casper.test.begin('coding-rules-page-should-activate-profile', 5, function (test .then(function () { casper.evaluate(function () { - require(['/js/coding-rules/app.js']); + require(['apps/coding-rules/app']); }); }) diff --git a/server/sonar-web/src/test/js/coding-rules-page-should-create-custom-rules.js b/server/sonar-web/src/test/js/coding-rules-page-should-create-custom-rules.js index 0e1bd000778..e3d3e58e74b 100644 --- a/server/sonar-web/src/test/js/coding-rules-page-should-create-custom-rules.js +++ b/server/sonar-web/src/test/js/coding-rules-page-should-create-custom-rules.js @@ -44,7 +44,7 @@ casper.test.begin(testName('Create'), 2, function (test) { .then(function () { casper.evaluate(function () { - require(['/js/coding-rules/app.js']); + require(['apps/coding-rules/app']); }); }) @@ -104,7 +104,7 @@ casper.test.begin(testName('Reactivate'), 3, function (test) { .then(function () { casper.evaluate(function () { - require(['/js/coding-rules/app.js']); + require(['apps/coding-rules/app']); jQuery.ajaxSetup({ dataType: 'json' }); }); }) diff --git a/server/sonar-web/src/test/js/coding-rules-page-should-create-manual-rules.js b/server/sonar-web/src/test/js/coding-rules-page-should-create-manual-rules.js index b57fed7c582..dcb9c458c42 100644 --- a/server/sonar-web/src/test/js/coding-rules-page-should-create-manual-rules.js +++ b/server/sonar-web/src/test/js/coding-rules-page-should-create-manual-rules.js @@ -42,7 +42,7 @@ casper.test.begin(testName('Create'), 3, function (test) { .then(function () { casper.evaluate(function () { - require(['/js/coding-rules/app.js']); + require(['apps/coding-rules/app']); }); }) @@ -96,7 +96,7 @@ casper.test.begin(testName('Reactivate'), function (test) { .then(function () { casper.evaluate(function () { - require(['/js/coding-rules/app.js']); + require(['apps/coding-rules/app']); jQuery.ajaxSetup({ dataType: 'json' }); }); }) diff --git a/server/sonar-web/src/test/js/coding-rules-page-should-delete-custom-rules.js b/server/sonar-web/src/test/js/coding-rules-page-should-delete-custom-rules.js index 0b2e3c94f7a..c24d8eacd8e 100644 --- a/server/sonar-web/src/test/js/coding-rules-page-should-delete-custom-rules.js +++ b/server/sonar-web/src/test/js/coding-rules-page-should-delete-custom-rules.js @@ -43,7 +43,7 @@ casper.test.begin('coding-rules-page-should-delete-custom-rules', 2, function (t .then(function () { casper.evaluate(function () { - require(['/js/coding-rules/app.js']); + require(['apps/coding-rules/app']); }); }) diff --git a/server/sonar-web/src/test/js/coding-rules-page-should-delete-manual-rules.js b/server/sonar-web/src/test/js/coding-rules-page-should-delete-manual-rules.js index 6bff769883d..e0d06efcae5 100644 --- a/server/sonar-web/src/test/js/coding-rules-page-should-delete-manual-rules.js +++ b/server/sonar-web/src/test/js/coding-rules-page-should-delete-manual-rules.js @@ -41,7 +41,7 @@ casper.test.begin('coding-rules-page-should-delete-manual-rules', 1, function (t .then(function () { casper.evaluate(function () { - require(['/js/coding-rules/app.js']); + require(['apps/coding-rules/app']); }); }) diff --git a/server/sonar-web/src/test/js/coding-rules-page-should-show-custom-rules.js b/server/sonar-web/src/test/js/coding-rules-page-should-show-custom-rules.js index 6e5648a4749..248c1eec766 100644 --- a/server/sonar-web/src/test/js/coding-rules-page-should-show-custom-rules.js +++ b/server/sonar-web/src/test/js/coding-rules-page-should-show-custom-rules.js @@ -42,7 +42,7 @@ casper.test.begin('coding-rules-page-should-show-custom-rules', 3, function (tes .then(function () { casper.evaluate(function () { - require(['/js/coding-rules/app.js']); + require(['apps/coding-rules/app']); }); }) diff --git a/server/sonar-web/src/test/js/coding-rules-page-should-show-deprecated-label.js b/server/sonar-web/src/test/js/coding-rules-page-should-show-deprecated-label.js index 7fa5d1ad3aa..677b93b2a8d 100644 --- a/server/sonar-web/src/test/js/coding-rules-page-should-show-deprecated-label.js +++ b/server/sonar-web/src/test/js/coding-rules-page-should-show-deprecated-label.js @@ -38,7 +38,7 @@ casper.test.begin('coding-rules-page-should-show-deprecated-label', 1, function .then(function () { casper.evaluate(function () { - require(['/js/coding-rules/app.js']); + require(['apps/coding-rules/app']); }); }) diff --git a/server/sonar-web/src/test/js/coding-rules-page-should-show-details.js b/server/sonar-web/src/test/js/coding-rules-page-should-show-details.js index 7d6b1044400..fd71afeacf8 100644 --- a/server/sonar-web/src/test/js/coding-rules-page-should-show-details.js +++ b/server/sonar-web/src/test/js/coding-rules-page-should-show-details.js @@ -40,7 +40,7 @@ casper.test.begin('coding-rules-page-should-show-details', 20, function (test) { .then(function () { casper.evaluate(function () { - require(['/js/coding-rules/app.js']); + require(['apps/coding-rules/app']); }); }) diff --git a/server/sonar-web/src/test/js/coding-rules-page-should-show-empty-list.js b/server/sonar-web/src/test/js/coding-rules-page-should-show-empty-list.js index aee19e7d61e..fbc7d271028 100644 --- a/server/sonar-web/src/test/js/coding-rules-page-should-show-empty-list.js +++ b/server/sonar-web/src/test/js/coding-rules-page-should-show-empty-list.js @@ -38,7 +38,7 @@ casper.test.begin('coding-rules-page-should-show-empty-list', 3, function (test) .then(function () { casper.evaluate(function () { - require(['/js/coding-rules/app.js']); + require(['apps/coding-rules/app']); }); }) diff --git a/server/sonar-web/src/test/js/coding-rules-page-should-show-facets.js b/server/sonar-web/src/test/js/coding-rules-page-should-show-facets.js index 105ae4edeec..c24f6f56f6d 100644 --- a/server/sonar-web/src/test/js/coding-rules-page-should-show-facets.js +++ b/server/sonar-web/src/test/js/coding-rules-page-should-show-facets.js @@ -38,7 +38,7 @@ casper.test.begin('coding-rules-page-should-show-facets', 1, function (test) { .then(function () { casper.evaluate(function () { - require(['/js/coding-rules/app.js']); + require(['apps/coding-rules/app']); }); }) diff --git a/server/sonar-web/src/test/js/coding-rules-page-should-show-rule-issues.js b/server/sonar-web/src/test/js/coding-rules-page-should-show-rule-issues.js index cb370329372..d41482af0b0 100644 --- a/server/sonar-web/src/test/js/coding-rules-page-should-show-rule-issues.js +++ b/server/sonar-web/src/test/js/coding-rules-page-should-show-rule-issues.js @@ -40,7 +40,7 @@ casper.test.begin('coding-rules-page-should-show-rule-issues', 5, function (test .then(function () { casper.evaluate(function () { - require(['/js/coding-rules/app.js']); + require(['apps/coding-rules/app']); }); }) diff --git a/server/sonar-web/src/test/js/coding-rules-page-should-show-rule.js b/server/sonar-web/src/test/js/coding-rules-page-should-show-rule.js index 9a2f36edc33..3ae6d7c00b3 100644 --- a/server/sonar-web/src/test/js/coding-rules-page-should-show-rule.js +++ b/server/sonar-web/src/test/js/coding-rules-page-should-show-rule.js @@ -38,7 +38,7 @@ casper.test.begin('coding-rules-page-should-show-rule', 7, function (test) { .then(function () { casper.evaluate(function () { - require(['/js/coding-rules/app.js']); + require(['apps/coding-rules/app']); }); }) diff --git a/server/sonar-web/src/test/js/coding-rules-page-should-show-rules.js b/server/sonar-web/src/test/js/coding-rules-page-should-show-rules.js index b4935930133..5c21c5612a2 100644 --- a/server/sonar-web/src/test/js/coding-rules-page-should-show-rules.js +++ b/server/sonar-web/src/test/js/coding-rules-page-should-show-rules.js @@ -38,7 +38,7 @@ casper.test.begin('coding-rules-page-should-show-rules', 4, function (test) { .then(function () { casper.evaluate(function () { - require(['/js/coding-rules/app.js']); + require(['apps/coding-rules/app']); }); }) diff --git a/server/sonar-web/src/test/js/coding-rules-page-spec.js b/server/sonar-web/src/test/js/coding-rules-page-spec.js index 37e78197596..64d21655a06 100644 --- a/server/sonar-web/src/test/js/coding-rules-page-spec.js +++ b/server/sonar-web/src/test/js/coding-rules-page-spec.js @@ -40,7 +40,7 @@ casper.test.begin(testName('Move Between Rules From Detailed View'), 3, function .then(function () { casper.evaluate(function () { - require(['/js/coding-rules/app.js']); + require(['apps/coding-rules/app']); }); }) @@ -100,7 +100,7 @@ casper.test.begin(testName('Filter Similar Rules'), 3, function (test) { .then(function () { casper.evaluate(function () { - require(['/js/coding-rules/app.js']); + require(['apps/coding-rules/app']); }); }) diff --git a/server/sonar-web/src/test/js/global-issue-filter-widget.js b/server/sonar-web/src/test/js/global-issue-filter-widget.js index 48e79ca87ba..f4d92282615 100644 --- a/server/sonar-web/src/test/js/global-issue-filter-widget.js +++ b/server/sonar-web/src/test/js/global-issue-filter-widget.js @@ -40,7 +40,7 @@ casper.test.begin(testName('Unresolved Issues By Severity'), 13, function (test) .then(function () { casper.evaluate(function () { - require(['/js/widgets/issue-filter.js'], function (IssueFilter) { + require(['widgets/issue-filter/widget'], function (IssueFilter) { window.requestMessages().done(function () { new IssueFilter({ el: '#issue-filter-widget', @@ -99,7 +99,7 @@ casper.test.begin(testName('Red Issues By Severity'), 9, function (test) { .then(function () { casper.evaluate(function () { - require(['/js/widgets/issue-filter.js'], function (IssueFilter) { + require(['widgets/issue-filter/widget'], function (IssueFilter) { window.requestMessages().done(function () { new IssueFilter({ el: '#issue-filter-widget', @@ -153,7 +153,7 @@ casper.test.begin(testName('All Issues By Status'), 9, function (test) { .then(function () { casper.evaluate(function () { - require(['/js/widgets/issue-filter.js'], function (IssueFilter) { + require(['widgets/issue-filter/widget'], function (IssueFilter) { window.requestMessages().done(function () { new IssueFilter({ el: '#issue-filter-widget', @@ -208,7 +208,7 @@ casper.test.begin(testName('Unresolved Issues By Status'), 9, function (test) { .then(function () { casper.evaluate(function () { - require(['/js/widgets/issue-filter.js'], function (IssueFilter) { + require(['widgets/issue-filter/widget'], function (IssueFilter) { window.requestMessages().done(function () { new IssueFilter({ el: '#issue-filter-widget', @@ -262,7 +262,7 @@ casper.test.begin(testName('All Issues By Resolution'), 10, function (test) { .then(function () { casper.evaluate(function () { - require(['/js/widgets/issue-filter.js'], function (IssueFilter) { + require(['widgets/issue-filter/widget'], function (IssueFilter) { window.requestMessages().done(function () { new IssueFilter({ el: '#issue-filter-widget', @@ -318,7 +318,7 @@ casper.test.begin(testName('Unresolved Issues By Resolution'), 5, function (test .then(function () { casper.evaluate(function () { - require(['/js/widgets/issue-filter.js'], function (IssueFilter) { + require(['widgets/issue-filter/widget'], function (IssueFilter) { window.requestMessages().done(function () { new IssueFilter({ el: '#issue-filter-widget', @@ -369,7 +369,7 @@ casper.test.begin(testName('Unresolved Issues By Rule'), 15, function (test) { .then(function () { casper.evaluate(function () { - require(['/js/widgets/issue-filter.js'], function (IssueFilter) { + require(['widgets/issue-filter/widget'], function (IssueFilter) { window.requestMessages().done(function () { new IssueFilter({ el: '#issue-filter-widget', @@ -432,7 +432,7 @@ casper.test.begin(testName('Unresolved Issues By Project'), 15, function (test) .then(function () { casper.evaluate(function () { - require(['/js/widgets/issue-filter.js'], function (IssueFilter) { + require(['widgets/issue-filter/widget'], function (IssueFilter) { window.requestMessages().done(function () { new IssueFilter({ el: '#issue-filter-widget', @@ -495,7 +495,7 @@ casper.test.begin(testName('Unresolved Issues By Assignee'), 15, function (test) .then(function () { casper.evaluate(function () { - require(['/js/widgets/issue-filter.js'], function (IssueFilter) { + require(['widgets/issue-filter/widget'], function (IssueFilter) { window.requestMessages().done(function () { new IssueFilter({ el: '#issue-filter-widget', @@ -558,7 +558,7 @@ casper.test.begin(testName('Unresolved Unassigned Issues By Assignee'), 6, funct .then(function () { casper.evaluate(function () { - require(['/js/widgets/issue-filter.js'], function (IssueFilter) { + require(['widgets/issue-filter/widget'], function (IssueFilter) { window.requestMessages().done(function () { new IssueFilter({ el: '#issue-filter-widget', @@ -612,7 +612,7 @@ casper.test.begin(testName('Unresolved Issues By Reporter'), 12, function (test) .then(function () { casper.evaluate(function () { - require(['/js/widgets/issue-filter.js'], function (IssueFilter) { + require(['widgets/issue-filter/widget'], function (IssueFilter) { window.requestMessages().done(function () { new IssueFilter({ el: '#issue-filter-widget', @@ -672,7 +672,7 @@ casper.test.begin(testName('Unresolved Issues By Language'), 15, function (test) .then(function () { casper.evaluate(function () { - require(['/js/widgets/issue-filter.js'], function (IssueFilter) { + require(['widgets/issue-filter/widget'], function (IssueFilter) { window.requestMessages().done(function () { new IssueFilter({ el: '#issue-filter-widget', @@ -735,7 +735,7 @@ casper.test.begin(testName('Unresolved Issues By Action Plan'), 15, function (te .then(function () { casper.evaluate(function () { - require(['/js/widgets/issue-filter.js'], function (IssueFilter) { + require(['widgets/issue-filter/widget'], function (IssueFilter) { window.requestMessages().done(function () { new IssueFilter({ el: '#issue-filter-widget', @@ -798,7 +798,7 @@ casper.test.begin(testName('Unresolved Unplanned Issues By Action Plan'), 6, fun .then(function () { casper.evaluate(function () { - require(['/js/widgets/issue-filter.js'], function (IssueFilter) { + require(['widgets/issue-filter/widget'], function (IssueFilter) { window.requestMessages().done(function () { new IssueFilter({ el: '#issue-filter-widget', @@ -852,7 +852,7 @@ casper.test.begin(testName('Unresolved Issues By Date'), 18, function (test) { .then(function () { casper.evaluate(function () { - require(['/js/widgets/issue-filter.js'], function (IssueFilter) { + require(['widgets/issue-filter/widget'], function (IssueFilter) { window.requestMessages().done(function () { new IssueFilter({ el: '#issue-filter-widget', @@ -920,7 +920,7 @@ casper.test.begin(testName('Unresolved Issues on a Limited Period By Date'), 12, .then(function () { casper.evaluate(function () { - require(['/js/widgets/issue-filter.js'], function (IssueFilter) { + require(['widgets/issue-filter/widget'], function (IssueFilter) { window.requestMessages().done(function () { new IssueFilter({ el: '#issue-filter-widget', diff --git a/server/sonar-web/src/test/js/issues-page-should-open-issue-permalink.js b/server/sonar-web/src/test/js/issues-page-should-open-issue-permalink.js index b8983274ffc..e2c6841100b 100644 --- a/server/sonar-web/src/test/js/issues-page-should-open-issue-permalink.js +++ b/server/sonar-web/src/test/js/issues-page-should-open-issue-permalink.js @@ -45,7 +45,7 @@ casper.test.begin('issues-page-should-open-issue-permalink', 3, function (test) .then(function () { casper.evaluate(function () { - require(['/js/issues/app-new.js']); + require(['apps/issues/app-new']); }); }) diff --git a/server/sonar-web/src/test/js/issues-page-spec.js b/server/sonar-web/src/test/js/issues-page-spec.js index 89286655883..f7cb2ea6f74 100644 --- a/server/sonar-web/src/test/js/issues-page-spec.js +++ b/server/sonar-web/src/test/js/issues-page-spec.js @@ -40,7 +40,7 @@ casper.test.begin(testName('Base'), function (test) { .then(function () { casper.evaluate(function () { - require(['/js/issues/app-new.js']); + require(['apps/issues/app-new']); }); }) @@ -104,7 +104,7 @@ casper.test.begin(testName('Issue Box', 'Check Elements'), function (test) { .then(function () { casper.evaluate(function () { - require(['/js/issues/app-new.js']); + require(['apps/issues/app-new']); }); }) @@ -154,7 +154,7 @@ casper.test.begin(testName('Issue Box', 'Tags'), function (test) { .then(function () { casper.evaluate(function () { - require(['/js/issues/app-new.js']); + require(['apps/issues/app-new']); }); }) @@ -205,7 +205,7 @@ casper.test.begin(testName('Issue Box', 'Transitions'), function (test) { .then(function () { casper.evaluate(function () { - require(['/js/issues/app-new.js']); + require(['apps/issues/app-new']); }); }) @@ -247,7 +247,7 @@ casper.test.begin(testName('Issue Box', 'Rule'), function (test) { .then(function () { casper.evaluate(function () { - require(['/js/issues/app-new.js']); + require(['apps/issues/app-new']); }); }) @@ -293,7 +293,7 @@ casper.test.begin(testName('File-Level Issues'), function (test) { .then(function () { casper.evaluate(function () { - require(['/js/issues/app-new.js']); + require(['apps/issues/app-new']); }); }) @@ -332,7 +332,7 @@ casper.test.begin(testName('Severity Facet'), function (test) { .then(function () { casper.evaluate(function () { - require(['/js/issues/app-new.js']); + require(['apps/issues/app-new']); }); }) @@ -372,7 +372,7 @@ casper.test.begin(testName('Bulk Change'), function (test) { .then(function () { casper.evaluate(function () { - require(['/js/issues/app-new.js']); + require(['apps/issues/app-new']); }); }) @@ -411,7 +411,7 @@ casper.test.begin(testName('Filter Similar Issues'), 12, function (test) { .then(function () { casper.evaluate(function () { - require(['/js/issues/app-new.js']); + require(['apps/issues/app-new']); }); }) diff --git a/server/sonar-web/src/test/js/markdown-spec.js b/server/sonar-web/src/test/js/markdown-spec.js index ded3ed6e97d..fa9bedfd530 100644 --- a/server/sonar-web/src/test/js/markdown-spec.js +++ b/server/sonar-web/src/test/js/markdown-spec.js @@ -36,7 +36,7 @@ casper.test.begin(testName(), 8, function (test) { .then(function () { casper.evaluate(function () { - require(['/js/markdown/app.js'], function (App) { + require(['apps/markdown/app'], function (App) { App.start({ el: 'body' }); }); }); diff --git a/server/sonar-web/src/test/js/nav-spec.js b/server/sonar-web/src/test/js/nav-spec.js index f5c21461e27..2300df4053a 100644 --- a/server/sonar-web/src/test/js/nav-spec.js +++ b/server/sonar-web/src/test/js/nav-spec.js @@ -40,7 +40,7 @@ casper.test.begin(testName('Global Spaces'), 8, function (test) { casper.evaluate(function () { window.SS.isUserAdmin = false; window.navbarOptions = new Backbone.Model(); - require(['/js/nav/app.js']); + require(['apps/nav/app']); }); }) @@ -87,7 +87,7 @@ casper.test.begin(testName('Global Dashboards'), 12, function (test) { window.SS.isUserAdmin = false; window.navbarOptions = new Backbone.Model(); - require(['/js/nav/app.js']); + require(['apps/nav/app']); }); }) @@ -141,7 +141,7 @@ casper.test.begin(testName('Global Plugin Pages'), 12, function (test) { window.SS.isUserAdmin = false; window.navbarOptions = new Backbone.Model(); - require(['/js/nav/app.js']); + require(['apps/nav/app']); }); }) @@ -193,7 +193,7 @@ casper.test.begin(testName('Login'), 3, function (test) { window.SS.isUserAdmin = false; window.navbarOptions = new Backbone.Model(); - require(['/js/nav/app.js']); + require(['apps/nav/app']); }); }) @@ -238,7 +238,7 @@ casper.test.begin(testName('Search'), 24, function (test) { window.localStorage.setItem('sonar_recent_history', '[{"key":"localhistoryproject","name":"Local History Project","icon":"trk"}]'); - require(['/js/nav/app.js']); + require(['apps/nav/app']); }); }) @@ -333,7 +333,7 @@ casper.test.begin(testName('Context'), function (test) { window.navbarOptions = new Backbone.Model(); window.navbarOptions.set({ space: 'component', componentKey: 'org.codehaus.sonar-plugins.java:java' }); - require(['/js/nav/app.js']); + require(['apps/nav/app']); }); }) diff --git a/server/sonar-web/src/test/js/project-issue-filter-widget.js b/server/sonar-web/src/test/js/project-issue-filter-widget.js index 0d248807d8b..083065c01e3 100644 --- a/server/sonar-web/src/test/js/project-issue-filter-widget.js +++ b/server/sonar-web/src/test/js/project-issue-filter-widget.js @@ -40,7 +40,7 @@ casper.test.begin(testName('Unresolved Issues By Severity'), 13, function (test) .then(function () { casper.evaluate(function () { - require(['/js/widgets/issue-filter.js'], function (IssueFilter) { + require(['widgets/issue-filter/widget'], function (IssueFilter) { window.requestMessages().done(function () { new IssueFilter({ el: '#issue-filter-widget', @@ -101,7 +101,7 @@ casper.test.begin(testName('Unresolved Issues By Date'), 18, function (test) { .then(function () { casper.evaluate(function () { - require(['/js/widgets/issue-filter.js'], function (IssueFilter) { + require(['widgets/issue-filter/widget'], function (IssueFilter) { window.requestMessages().done(function () { new IssueFilter({ el: '#issue-filter-widget', @@ -171,7 +171,7 @@ casper.test.begin(testName('Unresolved Issues By Severity With Differential Peri .then(function () { casper.evaluate(function () { - require(['/js/widgets/issue-filter.js'], function (IssueFilter) { + require(['widgets/issue-filter/widget'], function (IssueFilter) { window.requestMessages().done(function () { new IssueFilter({ el: '#issue-filter-widget', @@ -234,7 +234,7 @@ casper.test.begin(testName('Unresolved Issues By Severity With IGNORED Different .then(function () { casper.evaluate(function () { - require(['/js/widgets/issue-filter.js'], function (IssueFilter) { + require(['widgets/issue-filter/widget'], function (IssueFilter) { window.requestMessages().done(function () { new IssueFilter({ el: '#issue-filter-widget', diff --git a/server/sonar-web/src/test/js/quality-gates-spec.js b/server/sonar-web/src/test/js/quality-gates-spec.js index b892b5527a3..ec78d267a17 100644 --- a/server/sonar-web/src/test/js/quality-gates-spec.js +++ b/server/sonar-web/src/test/js/quality-gates-spec.js @@ -39,7 +39,7 @@ casper.test.begin('Quality Gates', function suite (test) { .then(function () { casper.evaluate(function () { - require(['/js/quality-gate/app.js']); + require(['apps/quality-gate/app']); }); }) diff --git a/server/sonar-web/src/test/js/quality-profiles.js b/server/sonar-web/src/test/js/quality-profiles.js index 56aa831f751..2200aa97b67 100644 --- a/server/sonar-web/src/test/js/quality-profiles.js +++ b/server/sonar-web/src/test/js/quality-profiles.js @@ -40,7 +40,7 @@ casper.test.begin(testName('Should Show List'), 9, function (test) { .then(function () { casper.evaluate(function () { - require(['/js/quality-profiles/app.js']); + require(['apps/quality-profiles/app']); }); }) @@ -85,7 +85,7 @@ casper.test.begin(testName('Should Filter List By Language'), 15, function (test .then(function () { casper.evaluate(function () { - require(['/js/quality-profiles/app.js']); + require(['apps/quality-profiles/app']); }); }) @@ -154,7 +154,7 @@ casper.test.begin(testName('Should Show Details'), 10, function (test) { .then(function () { casper.evaluate(function () { - require(['/js/quality-profiles/app.js']); + require(['apps/quality-profiles/app']); }); }) @@ -209,7 +209,7 @@ casper.test.begin(testName('Should Show Details', 'Admin'), 10, function (test) .then(function () { casper.evaluate(function () { - require(['/js/quality-profiles/app.js']); + require(['apps/quality-profiles/app']); }); }) @@ -263,7 +263,7 @@ casper.test.begin(testName('Should Show Inheritance Details'), 10, function (tes .then(function () { casper.evaluate(function () { - require(['/js/quality-profiles/app.js']); + require(['apps/quality-profiles/app']); }); }) @@ -317,7 +317,7 @@ casper.test.begin(testName('Should Show Selected Projects'), 2, function (test) .then(function () { casper.evaluate(function () { - require(['/js/quality-profiles/app.js']); + require(['apps/quality-profiles/app']); }); }) @@ -365,7 +365,7 @@ casper.test.begin(testName('Should Move Between Profiles'), 1, function (test) { .then(function () { casper.evaluate(function () { - require(['/js/quality-profiles/app.js']); + require(['apps/quality-profiles/app']); }); }) @@ -421,7 +421,7 @@ casper.test.begin(testName('Copy Profile'), 5, function (test) { .then(function () { casper.evaluate(function () { - require(['/js/quality-profiles/app.js']); + require(['apps/quality-profiles/app']); jQuery.ajaxSetup({ dataType: 'json' }); }); }) @@ -484,7 +484,7 @@ casper.test.begin(testName('Rename Profile'), 2, function (test) { .then(function () { casper.evaluate(function () { - require(['/js/quality-profiles/app.js']); + require(['apps/quality-profiles/app']); jQuery.ajaxSetup({ dataType: 'json' }); }); }) @@ -547,7 +547,7 @@ casper.test.begin(testName('Make Profile Default'), 4, function (test) { .then(function () { casper.evaluate(function () { - require(['/js/quality-profiles/app.js']); + require(['apps/quality-profiles/app']); jQuery.ajaxSetup({ dataType: 'json' }); }); }) @@ -604,7 +604,7 @@ casper.test.begin(testName('Delete Profile'), 2, function (test) { .then(function () { casper.evaluate(function () { - require(['/js/quality-profiles/app.js']); + require(['apps/quality-profiles/app']); jQuery.ajaxSetup({ dataType: 'json' }); }); }) @@ -662,7 +662,7 @@ casper.test.begin(testName('Create Profile'), 2, function (test) { .then(function () { casper.evaluate(function () { - require(['/js/quality-profiles/app.js']); + require(['apps/quality-profiles/app']); jQuery.ajaxSetup({ dataType: 'json' }); }); }) @@ -718,7 +718,7 @@ casper.test.begin(testName('Restore Profile'), 2, function (test) { .then(function () { casper.evaluate(function () { - require(['/js/quality-profiles/app.js']); + require(['apps/quality-profiles/app']); jQuery.ajaxSetup({ dataType: 'json' }); }); }) @@ -768,7 +768,7 @@ casper.test.begin(testName('Importers'), 6, function (test) { .then(function () { casper.evaluate(function () { - require(['/js/quality-profiles/app.js']); + require(['apps/quality-profiles/app']); jQuery.ajaxSetup({ dataType: 'json' }); }); }) @@ -833,7 +833,7 @@ casper.test.begin(testName('Restore Built-in Profiles'), 3, function (test) { .then(function () { casper.evaluate(function () { - require(['/js/quality-profiles/app.js']); + require(['apps/quality-profiles/app']); jQuery.ajaxSetup({ dataType: 'json' }); }); }) @@ -893,7 +893,7 @@ casper.test.begin(testName('Change Parent'), 1, function (test) { .then(function () { casper.evaluate(function () { - require(['/js/quality-profiles/app.js']); + require(['apps/quality-profiles/app']); jQuery.ajaxSetup({ dataType: 'json' }); }); }) @@ -954,7 +954,7 @@ casper.test.begin(testName('Permalink'), 9, function (test) { .then(function () { casper.evaluate(function () { - require(['/js/quality-profiles/app.js']); + require(['apps/quality-profiles/app']); }); }) @@ -1006,7 +1006,7 @@ casper.test.begin(testName('Changelog'), 22, function (test) { .then(function () { casper.evaluate(function () { - require(['/js/quality-profiles/app.js']); + require(['apps/quality-profiles/app']); }); }) @@ -1098,7 +1098,7 @@ casper.test.begin(testName('Changelog Permalink'), 2, function (test) { .then(function () { casper.evaluate(function () { - require(['/js/quality-profiles/app.js']); + require(['apps/quality-profiles/app']); }); }) @@ -1145,7 +1145,7 @@ casper.test.begin(testName('Comparison'), 12, function (test) { .then(function () { casper.evaluate(function () { - require(['/js/quality-profiles/app.js']); + require(['apps/quality-profiles/app']); }); }) @@ -1204,7 +1204,7 @@ casper.test.begin(testName('Comparison Permalink'), 4, function (test) { .then(function () { casper.evaluate(function () { - require(['/js/quality-profiles/app.js']); + require(['apps/quality-profiles/app']); }); }) diff --git a/server/sonar-web/src/test/js/source-viewer-coverage.js b/server/sonar-web/src/test/js/source-viewer-coverage.js index 264dfae6a5a..9f15220e5bf 100644 --- a/server/sonar-web/src/test/js/source-viewer-coverage.js +++ b/server/sonar-web/src/test/js/source-viewer-coverage.js @@ -44,7 +44,7 @@ casper.test.begin(testName(), 12, function (test) { .then(function () { casper.evaluate(function () { window.file = { uuid: 'uuid', key: 'key' }; - require(['/js/source-viewer/app.js']); + require(['apps/source-viewer/app']); }); }) diff --git a/server/sonar-web/src/test/js/source-viewer-create-manual-issue.js b/server/sonar-web/src/test/js/source-viewer-create-manual-issue.js index ad382aff6ce..ace652101fd 100644 --- a/server/sonar-web/src/test/js/source-viewer-create-manual-issue.js +++ b/server/sonar-web/src/test/js/source-viewer-create-manual-issue.js @@ -43,7 +43,7 @@ casper.test.begin(testName('source-viewer-create-manual-issue'), function (test) .then(function () { casper.evaluate(function () { - require(['/js/source-viewer/app.js']); + require(['apps/source-viewer/app']); }); }) diff --git a/server/sonar-web/src/test/js/source-viewer-duplications.js b/server/sonar-web/src/test/js/source-viewer-duplications.js index 809ed6ee6e1..e24fabfca75 100644 --- a/server/sonar-web/src/test/js/source-viewer-duplications.js +++ b/server/sonar-web/src/test/js/source-viewer-duplications.js @@ -42,7 +42,7 @@ casper.test.begin(testName(), 5, function (test) { .then(function () { casper.evaluate(function () { window.file = { uuid: 'uuid', key: 'key' }; - require(['/js/source-viewer/app.js']); + require(['apps/source-viewer/app']); }); }) @@ -99,7 +99,7 @@ casper.test.begin(testName('In Removed Component'), 2, function (test) { .then(function () { casper.evaluate(function () { window.file = { uuid: 'uuid', key: 'key' }; - require(['/js/source-viewer/app.js']); + require(['apps/source-viewer/app']); }); }) diff --git a/server/sonar-web/src/test/js/source-viewer-favorite-spec.js b/server/sonar-web/src/test/js/source-viewer-favorite-spec.js index 50f1cb8f9db..3bc39b656ef 100644 --- a/server/sonar-web/src/test/js/source-viewer-favorite-spec.js +++ b/server/sonar-web/src/test/js/source-viewer-favorite-spec.js @@ -41,7 +41,7 @@ casper.test.begin(testName('Mark as Favorite'), function (test) { .then(function () { casper.evaluate(function () { - require(['/js/source-viewer/app.js']); + require(['apps/source-viewer/app']); }); }) @@ -84,7 +84,7 @@ casper.test.begin(testName('Don\'t Show Favorite If Not Logged In'), function (t .then(function () { casper.evaluate(function () { - require(['/js/source-viewer/app.js']); + require(['apps/source-viewer/app']); }); }) diff --git a/server/sonar-web/src/test/js/source-viewer-issues.js b/server/sonar-web/src/test/js/source-viewer-issues.js index 46a2605277d..29808d1741c 100644 --- a/server/sonar-web/src/test/js/source-viewer-issues.js +++ b/server/sonar-web/src/test/js/source-viewer-issues.js @@ -44,7 +44,7 @@ casper.test.begin(testName(), 16, function (test) { .then(function () { casper.evaluate(function () { window.file = { uuid: 'uuid', key: 'key' }; - require(['/js/source-viewer/app.js']); + require(['apps/source-viewer/app']); }); }) diff --git a/server/sonar-web/src/test/js/source-viewer-scm.js b/server/sonar-web/src/test/js/source-viewer-scm.js index 047e08a9309..200419bbd9b 100644 --- a/server/sonar-web/src/test/js/source-viewer-scm.js +++ b/server/sonar-web/src/test/js/source-viewer-scm.js @@ -42,7 +42,7 @@ casper.test.begin(testName('SCM'), 4, function (test) { .then(function () { casper.evaluate(function () { window.file = { uuid: 'uuid', key: 'key' }; - require(['/js/source-viewer/app.js']); + require(['apps/source-viewer/app']); }); }) diff --git a/server/sonar-web/src/test/js/source-viewer-should-not-show-source-if-no-permission.js b/server/sonar-web/src/test/js/source-viewer-should-not-show-source-if-no-permission.js index 5cbec7ccd41..2c7de6dbb0c 100644 --- a/server/sonar-web/src/test/js/source-viewer-should-not-show-source-if-no-permission.js +++ b/server/sonar-web/src/test/js/source-viewer-should-not-show-source-if-no-permission.js @@ -40,7 +40,7 @@ casper.test.begin(testName('source-viewer-should-not-show-source-if-no-permissio .then(function () { casper.evaluate(function () { - require(['/js/source-viewer/app.js']); + require(['apps/source-viewer/app']); }); }) diff --git a/server/sonar-web/src/test/js/source-viewer-spec.js b/server/sonar-web/src/test/js/source-viewer-spec.js index 17a361e915c..523e08cb3c4 100644 --- a/server/sonar-web/src/test/js/source-viewer-spec.js +++ b/server/sonar-web/src/test/js/source-viewer-spec.js @@ -41,7 +41,7 @@ casper.test.begin(testName('Base'), 14, function (test) { .then(function () { casper.evaluate(function () { window.file = { uuid: 'uuid', key: 'key' }; - require(['/js/source-viewer/app.js']); + require(['apps/source-viewer/app']); }); }) @@ -92,7 +92,7 @@ casper.test.begin(testName('Decoration'), 8, function (test) { .then(function () { casper.evaluate(function () { window.file = { uuid: 'uuid', key: 'key' }; - require(['/js/source-viewer/app.js']); + require(['apps/source-viewer/app']); }); }) @@ -148,7 +148,7 @@ casper.test.begin(testName('Test File'), 1, function (test) { .then(function () { casper.evaluate(function () { window.file = { uuid: 'uuid', key: 'key' }; - require(['/js/source-viewer/app.js']); + require(['apps/source-viewer/app']); }); }) @@ -183,7 +183,7 @@ casper.test.begin(testName('Highlight Usages'), 6, function (test) { .then(function () { casper.evaluate(function () { window.file = { uuid: 'uuid', key: 'key' }; - require(['/js/source-viewer/app.js']); + require(['apps/source-viewer/app']); }); }) @@ -227,7 +227,7 @@ casper.test.begin(testName('Line Permalink'), 1, function (test) { .then(function () { casper.evaluate(function () { window.file = { uuid: 'uuid', key: 'key' }; - require(['/js/source-viewer/app.js']); + require(['apps/source-viewer/app']); }); }) @@ -270,7 +270,7 @@ casper.test.begin(testName('Link to Raw'), 1, function (test) { .then(function () { casper.evaluate(function () { window.file = { uuid: 'uuid', key: 'key' }; - require(['/js/source-viewer/app.js']); + require(['apps/source-viewer/app']); }); }) @@ -316,7 +316,7 @@ casper.test.begin(testName('Details'), 15, function (test) { .then(function () { casper.evaluate(function () { window.file = { uuid: 'uuid', key: 'key' }; - require(['/js/source-viewer/app.js']); + require(['apps/source-viewer/app']); }); }) @@ -387,7 +387,7 @@ casper.test.begin(testName('Details', 'Tests'), 39, function (test) { .then(function () { casper.evaluate(function () { window.file = { uuid: 'uuid', key: 'key' }; - require(['/js/source-viewer/app.js']); + require(['apps/source-viewer/app']); }); }) diff --git a/server/sonar-web/src/test/js/workspace.js b/server/sonar-web/src/test/js/workspace.js index 47ce6bd3839..ee2dc2b3aa4 100644 --- a/server/sonar-web/src/test/js/workspace.js +++ b/server/sonar-web/src/test/js/workspace.js @@ -41,7 +41,7 @@ casper.test.begin(testName('Open From Component Viewer'), 8, function (test) { .then(function () { casper.evaluate(function () { window.localStorage.removeItem('sonarqube-workspace'); - require(['/js/source-viewer/app.js']); + require(['apps/source-viewer/app']); }); }) @@ -103,7 +103,7 @@ casper.test.begin(testName('Load From Local Storage'), 7, function (test) { '[{"uuid":"12345","type":"component","name":"Cache.java","q":"FIL"}]'); window.SS.isUserAdmin = false; window.navbarOptions = new Backbone.Model(); - require(['/js/nav/app.js']); + require(['apps/nav/app']); }); }) @@ -156,7 +156,7 @@ casper.test.begin(testName('Close From Nav'), 2, function (test) { '[{"uuid":"12345","type":"component","name":"Cache.java","q":"FIL"}]'); window.SS.isUserAdmin = false; window.navbarOptions = new Backbone.Model(); - require(['/js/nav/app.js']); + require(['apps/nav/app']); }); }) @@ -198,7 +198,7 @@ casper.test.begin(testName('Minimize'), 2, function (test) { .then(function () { casper.evaluate(function () { window.localStorage.removeItem('sonarqube-workspace'); - require(['/js/source-viewer/app.js']); + require(['apps/source-viewer/app']); }); }) @@ -246,7 +246,7 @@ casper.test.begin(testName('Full Screen'), 6, function (test) { .then(function () { casper.evaluate(function () { window.localStorage.removeItem('sonarqube-workspace'); - require(['/js/source-viewer/app.js']); + require(['apps/source-viewer/app']); }); }) @@ -302,7 +302,7 @@ casper.test.begin(testName('Rule'), 3, function (test) { '[{"key":"common-java:InsufficientBranchCoverage","type":"rule"}]'); window.SS.isUserAdmin = false; window.navbarOptions = new Backbone.Model(); - require(['/js/nav/app.js']); + require(['apps/nav/app']); }); }) diff --git a/server/sonar-web/src/test/server-coverage.js b/server/sonar-web/src/test/server-coverage.js index 953d08bac14..a6a46527f57 100644 --- a/server/sonar-web/src/test/server-coverage.js +++ b/server/sonar-web/src/test/server-coverage.js @@ -35,7 +35,7 @@ app.set('view engine', 'jade'); // Coverage -var staticPath = path.join(__dirname, '../main/webapp'); +var staticPath = path.join(__dirname, '../../build'); im.hookLoader(staticPath); app.use(im.createClientHandler(staticPath, { matcher: function (req) { diff --git a/server/sonar-web/src/test/server.js b/server/sonar-web/src/test/server.js index 2d099f0d1d4..01f952d0dd0 100644 --- a/server/sonar-web/src/test/server.js +++ b/server/sonar-web/src/test/server.js @@ -29,7 +29,7 @@ app.set('view engine', 'jade'); // Static -var staticPath = path.join(__dirname, '../main/webapp'); +var staticPath = path.join(__dirname, '../../build'); app.use('/js', express.static(path.join(staticPath, 'js'))); app.use('/css', express.static(path.join(staticPath, 'css'))); diff --git a/server/sonar-web/src/test/views/layouts/main.jade b/server/sonar-web/src/test/views/layouts/main.jade index c53ddbdcaa4..47f6027f828 100644 --- a/server/sonar-web/src/test/views/layouts/main.jade +++ b/server/sonar-web/src/test/views/layouts/main.jade @@ -3,52 +3,49 @@ html meta(http-equiv='Content-Type', content='text/html; charset=UTF-8') link(href='/css/sonar.css', rel='stylesheet', media='all') - script(src='/js/translate.js') - script(src='/js/third-party/jquery.js') - script(src='/js/third-party/jquery-ui.js') - script(src='/js/third-party/d3.js') - script(src='/js/third-party/latinize.js') - script(src='/js/third-party/underscore.js') - script(src='/js/third-party/backbone.js') - script(src='/js/third-party/backbone.marionette.js') - script(src='/js/third-party/handlebars.js') - script(src='/js/third-party/underscore.js') - script(src='/js/third-party/select2.js') - script(src='/js/third-party/keymaster.js') - script(src='/js/third-party/moment.js') - script(src='/js/third-party/numeral.js') - script(src='/js/third-party/numeral-languages.js') - script(src='/js/third-party/bootstrap/tooltip.js') - script(src='/js/third-party/bootstrap/dropdown.js') - script(src='/js/select2-jquery-ui-fix.js') - script(src='/js/widgets/base.js') - script(src='/js/widgets/widget.js') - script(src='/js/widgets/bubble-chart.js') - script(src='/js/widgets/timeline.js') - script(src='/js/widgets/stack-area.js') - script(src='/js/widgets/pie-chart.js') - script(src='/js/widgets/histogram.js') - script(src='/js/widgets/word-cloud.js') - script(src='/js/widgets/tag-cloud.js') - script(src='/js/widgets/treemap.js') - script(src='/js/graphics/pie-chart.js') - script(src='/js/graphics/barchart.js') - script(src='/js/sortable.js') - script(src='/js/common/inputs.js') - script(src='/js/common/dialogs.js') - script(src='/js/common/processes.js') - script(src='/js/common/jquery-isolated-scroll.js') - script(src='/js/common/handlebars-extensions.js') - script(src='/js/application.js') - script(src='/js/csv.js') - script(src='/js/dashboard.js') - script(src='/js/recent-history.js') + script(src='/js/libs/translate.js') + script(src='/js/libs/third-party/jquery.js') + script(src='/js/libs/third-party/jquery-ui.js') + script(src='/js/libs/third-party/d3.js') + script(src='/js/libs/third-party/latinize.js') + script(src='/js/libs/third-party/underscore.js') + script(src='/js/libs/third-party/backbone.js') + script(src='/js/libs/third-party/backbone.marionette.js') + script(src='/js/libs/third-party/handlebars.js') + script(src='/js/libs/third-party/underscore.js') + script(src='/js/libs/third-party/select2.js') + script(src='/js/libs/third-party/keymaster.js') + script(src='/js/libs/third-party/moment.js') + script(src='/js/libs/third-party/numeral.js') + script(src='/js/libs/third-party/numeral-languages.js') + script(src='/js/libs/third-party/bootstrap/tooltip.js') + script(src='/js/libs/third-party/bootstrap/dropdown.js') + script(src='/js/libs/select2-jquery-ui-fix.js') + script(src='/js/libs/widgets/base.js') + script(src='/js/libs/widgets/widget.js') + script(src='/js/libs/widgets/bubble-chart.js') + script(src='/js/libs/widgets/timeline.js') + script(src='/js/libs/widgets/stack-area.js') + script(src='/js/libs/widgets/pie-chart.js') + script(src='/js/libs/widgets/histogram.js') + script(src='/js/libs/widgets/word-cloud.js') + script(src='/js/libs/widgets/tag-cloud.js') + script(src='/js/libs/widgets/treemap.js') + script(src='/js/libs/graphics/pie-chart.js') + script(src='/js/libs/graphics/barchart.js') + script(src='/js/libs/sortable.js') + script(src='/js/components/common/inputs.js') + script(src='/js/components/common/dialogs.js') + script(src='/js/components/common/processes.js') + script(src='/js/components/common/jquery-isolated-scroll.js') + script(src='/js/components/common/handlebars-extensions.js') + script(src='/js/libs/application.js') + script(src='/js/libs/csv.js') + script(src='/js/libs/dashboard.js') + script(src='/js/libs/recent-history.js') + script(src='/js/libs/require.js') - script(src='/js/require.js') - script. - requirejs.config({ baseUrl: '/js' }); - - script(src='/js/third-party/jquery.mockjax.js') + script(src='/js/libs/third-party/jquery.mockjax.js') script. var baseUrl = ''; var $j = jQuery.noConflict(); @@ -56,6 +53,9 @@ html jQuery.mockjaxSettings.contentType = 'text/json'; jQuery.mockjaxSettings.responseTime = 50; jQuery(document).ready(function () { $j('.open-modal').modal(); }); + + script. + requirejs.config({ baseUrl: baseUrl + '/js' }); block header body #body -- 2.39.5