diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2019-11-15 09:06:30 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2019-11-15 09:06:30 +0000 |
commit | e24153b0cb080b1b25076f8fd358b4273848f2e2 (patch) | |
tree | b3fc6d552241905fa927db14f8920c4809e74a6f | |
parent | 3fe34368770022c88fd89c8df58b39bf0789e646 (diff) | |
download | gitlab-ce-e24153b0cb080b1b25076f8fd358b4273848f2e2.tar.gz |
Add latest changes from gitlab-org/gitlab@master
-rw-r--r-- | app/assets/javascripts/lib/utils/notify.js | 8 | ||||
-rw-r--r-- | app/assets/javascripts/network/branch_graph.js | 112 | ||||
-rw-r--r-- | app/assets/javascripts/new_branch_form.js | 28 | ||||
-rw-r--r-- | changelogs/unreleased/34149-hide-delete-selected-in-designs-when-viewing-an-old-version.yml | 5 | ||||
-rw-r--r-- | changelogs/unreleased/34607-Remove-IIFEs-from-branch_graph-js.yml | 5 | ||||
-rw-r--r-- | changelogs/unreleased/remove_var_from_new_branch_Form_js.yml | 5 | ||||
-rw-r--r-- | doc/ci/variables/predefined_variables.md | 2 | ||||
-rw-r--r-- | doc/user/packages/npm_registry/index.md | 15 | ||||
-rw-r--r-- | doc/user/project/merge_requests/img/approvals_premium_project_edit_v12_3.png | bin | 21908 -> 0 bytes | |||
-rw-r--r-- | doc/user/project/merge_requests/img/approvals_premium_project_edit_v12_5.png | bin | 0 -> 21293 bytes | |||
-rw-r--r-- | doc/user/project/merge_requests/merge_request_approvals.md | 4 | ||||
-rw-r--r-- | locale/gitlab.pot | 3 |
12 files changed, 101 insertions, 86 deletions
diff --git a/app/assets/javascripts/lib/utils/notify.js b/app/assets/javascripts/lib/utils/notify.js index cd509a13193..8db08099b3f 100644 --- a/app/assets/javascripts/lib/utils/notify.js +++ b/app/assets/javascripts/lib/utils/notify.js @@ -1,8 +1,7 @@ -/* eslint-disable no-var, consistent-return, no-return-assign */ +/* eslint-disable consistent-return, no-return-assign */ function notificationGranted(message, opts, onclick) { - var notification; - notification = new Notification(message, opts); + const notification = new Notification(message, opts); setTimeout( () => // Hide the notification after X amount of seconds @@ -21,8 +20,7 @@ function notifyPermissions() { } function notifyMe(message, body, icon, onclick) { - var opts; - opts = { + const opts = { body, icon, }; diff --git a/app/assets/javascripts/network/branch_graph.js b/app/assets/javascripts/network/branch_graph.js index a0ba2193d90..8173e23769a 100644 --- a/app/assets/javascripts/network/branch_graph.js +++ b/app/assets/javascripts/network/branch_graph.js @@ -1,12 +1,12 @@ -/* eslint-disable func-names, no-var, one-var, no-loop-func, consistent-return, camelcase */ +/* eslint-disable func-names, no-var, one-var, consistent-return, camelcase */ import $ from 'jquery'; import { __ } from '../locale'; import axios from '../lib/utils/axios_utils'; import Raphael from './raphael'; -export default (function() { - function BranchGraph(element1, options1) { +export default class BranchGraph { + constructor(element1, options1) { this.element = element1; this.options = options1; this.scrollTop = this.scrollTop.bind(this); @@ -28,7 +28,7 @@ export default (function() { this.load(); } - BranchGraph.prototype.load = function() { + load() { axios .get(this.options.url) .then(({ data }) => { @@ -37,9 +37,9 @@ export default (function() { this.buildGraph(); }) .catch(() => __('Error fetching network graph.')); - }; + } - BranchGraph.prototype.prepareData = function(days, commits) { + prepareData(days, commits) { var c, ch, cw, j, len, ref; this.days = days; this.commits = commits; @@ -61,34 +61,30 @@ export default (function() { this.markCommit(c); } return this.collectColors(); - }; + } - BranchGraph.prototype.collectParents = function() { + collectParents() { var c, j, len, p, ref, results; + var l, len1, ref1, results1; ref = this.commits; results = []; for (j = 0, len = ref.length; j < len; j += 1) { c = ref[j]; this.mtime = Math.max(this.mtime, c.time); this.mspace = Math.max(this.mspace, c.space); - results.push( - function() { - var l, len1, ref1, results1; - ref1 = c.parents; - results1 = []; - for (l = 0, len1 = ref1.length; l < len1; l += 1) { - p = ref1[l]; - this.parents[p[0]] = true; - results1.push((this.mspace = Math.max(this.mspace, p[1]))); - } - return results1; - }.call(this), - ); + ref1 = c.parents; + results1 = []; + for (l = 0, len1 = ref1.length; l < len1; l += 1) { + p = ref1[l]; + this.parents[p[0]] = true; + results1.push((this.mspace = Math.max(this.mspace, p[1]))); + } + results.push(results1); } return results; - }; + } - BranchGraph.prototype.collectColors = function() { + collectColors() { var k, results; k = 0; results = []; @@ -100,9 +96,9 @@ export default (function() { results.push((k += 1)); } return results; - }; + } - BranchGraph.prototype.buildGraph = function() { + buildGraph() { var cuday, cumonth, day, len, mm, ref; const { r } = this; cuday = 0; @@ -138,9 +134,9 @@ export default (function() { } this.renderPartialGraph(); return this.bindEvents(); - }; + } - BranchGraph.prototype.renderPartialGraph = function() { + renderPartialGraph() { var commit, end, i, isGraphEdge, start, x, y; start = Math.floor((this.element.scrollTop() - this.offsetY) / this.unitTime) - 10; if (start < 0) { @@ -170,49 +166,43 @@ export default (function() { } return this.top.toFront(); } - }; + } - BranchGraph.prototype.bindEvents = function() { + bindEvents() { const { element } = this; - return $(element).scroll( - (function(_this) { - return function() { - return _this.renderPartialGraph(); - }; - })(this), - ); - }; + return $(element).scroll(() => this.renderPartialGraph()); + } - BranchGraph.prototype.scrollDown = function() { + scrollDown() { this.element.scrollTop(this.element.scrollTop() + 50); return this.renderPartialGraph(); - }; + } - BranchGraph.prototype.scrollUp = function() { + scrollUp() { this.element.scrollTop(this.element.scrollTop() - 50); return this.renderPartialGraph(); - }; + } - BranchGraph.prototype.scrollLeft = function() { + scrollLeft() { this.element.scrollLeft(this.element.scrollLeft() - 50); return this.renderPartialGraph(); - }; + } - BranchGraph.prototype.scrollRight = function() { + scrollRight() { this.element.scrollLeft(this.element.scrollLeft() + 50); return this.renderPartialGraph(); - }; + } - BranchGraph.prototype.scrollBottom = function() { + scrollBottom() { return this.element.scrollTop(this.element.find('svg').height()); - }; + } - BranchGraph.prototype.scrollTop = function() { + scrollTop() { return this.element.scrollTop(0); - }; + } - BranchGraph.prototype.appendLabel = function(x, y, commit) { + appendLabel(x, y, commit) { var label, rect, shortrefs, text, textbox; if (!commit.refs) { @@ -248,9 +238,9 @@ export default (function() { label.transform(['t', -rect.getBBox().width - 15, 0]); // Set text to front return text.toFront(); - }; + } - BranchGraph.prototype.appendAnchor = function(x, y, commit) { + appendAnchor(x, y, commit) { const { r, top, options } = this; const anchor = r .circle(x, y, 10) @@ -270,9 +260,9 @@ export default (function() { }, ); return top.push(anchor); - }; + } - BranchGraph.prototype.drawDot = function(x, y, commit) { + drawDot(x, y, commit) { const { r } = this; r.circle(x, y, 3).attr({ fill: this.colors[commit.space], @@ -293,9 +283,9 @@ export default (function() { 'text-anchor': 'start', font: '14px Monaco, monospace', }); - }; + } - BranchGraph.prototype.drawLines = function(x, y, commit) { + drawLines(x, y, commit) { var arrow, color, i, len, offset, parent, parentCommit, parentX1, parentX2, parentY, route; const { r } = this; const ref = commit.parents; @@ -344,9 +334,9 @@ export default (function() { ); } return results; - }; + } - BranchGraph.prototype.markCommit = function(commit) { + markCommit(commit) { if (commit.id === this.options.commit_id) { const { r } = this; const x = this.offsetX + this.unitSpace * (this.mspace - commit.space); @@ -359,7 +349,5 @@ export default (function() { // Displayed in the center return this.element.scrollTop(y - this.graphHeight / 2); } - }; - - return BranchGraph; -})(); + } +} diff --git a/app/assets/javascripts/new_branch_form.js b/app/assets/javascripts/new_branch_form.js index 9f9db21d65b..52361e963bc 100644 --- a/app/assets/javascripts/new_branch_form.js +++ b/app/assets/javascripts/new_branch_form.js @@ -1,4 +1,4 @@ -/* eslint-disable func-names, no-var, one-var, consistent-return, no-return-assign, no-shadow, no-else-return, @gitlab/i18n/no-non-i18n-strings */ +/* eslint-disable func-names, consistent-return, no-return-assign, no-else-return, @gitlab/i18n/no-non-i18n-strings */ import $ from 'jquery'; import RefSelectDropdown from './ref_select_dropdown'; @@ -26,23 +26,22 @@ export default class NewBranchForm { } setupRestrictions() { - var endsWith, invalid, single, startsWith; - startsWith = { + const startsWith = { pattern: /^(\/|\.)/g, prefix: "can't start with", conjunction: 'or', }; - endsWith = { + const endsWith = { pattern: /(\/|\.|\.lock)$/g, prefix: "can't end in", conjunction: 'or', }; - invalid = { + const invalid = { pattern: /(\s|~|\^|:|\?|\*|\[|\\|\.\.|@\{|\/{2,}){1}/g, prefix: "can't contain", conjunction: ', ', }; - single = { + const single = { pattern: /^@+$/g, prefix: "can't be", conjunction: 'or', @@ -51,19 +50,17 @@ export default class NewBranchForm { } validate() { - var errorMessage, errors, formatter, unique, validator; const { indexOf } = []; this.branchNameError.empty(); - unique = function(values, value) { + const unique = function(values, value) { if (indexOf.call(values, value) === -1) { values.push(value); } return values; }; - formatter = function(values, restriction) { - var formatted; - formatted = values.map(value => { + const formatter = function(values, restriction) { + const formatted = values.map(value => { switch (false) { case !/\s/.test(value): return 'spaces'; @@ -75,10 +72,9 @@ export default class NewBranchForm { }); return `${restriction.prefix} ${formatted.join(restriction.conjunction)}`; }; - validator = (function(_this) { + const validator = (function(_this) { return function(errors, restriction) { - var matched; - matched = _this.name.val().match(restriction.pattern); + const matched = _this.name.val().match(restriction.pattern); if (matched) { return errors.concat(formatter(matched.reduce(unique, []), restriction)); } else { @@ -86,9 +82,9 @@ export default class NewBranchForm { } }; })(this); - errors = this.restrictions.reduce(validator, []); + const errors = this.restrictions.reduce(validator, []); if (errors.length > 0) { - errorMessage = $('<span/>').text(errors.join(', ')); + const errorMessage = $('<span/>').text(errors.join(', ')); return this.branchNameError.append(errorMessage); } } diff --git a/changelogs/unreleased/34149-hide-delete-selected-in-designs-when-viewing-an-old-version.yml b/changelogs/unreleased/34149-hide-delete-selected-in-designs-when-viewing-an-old-version.yml new file mode 100644 index 00000000000..73e24b856fc --- /dev/null +++ b/changelogs/unreleased/34149-hide-delete-selected-in-designs-when-viewing-an-old-version.yml @@ -0,0 +1,5 @@ +--- +title: Resolve Hide Delete selected in designs when viewing an old version +merge_request: 19889 +author: +type: fixed diff --git a/changelogs/unreleased/34607-Remove-IIFEs-from-branch_graph-js.yml b/changelogs/unreleased/34607-Remove-IIFEs-from-branch_graph-js.yml new file mode 100644 index 00000000000..6c902549c4c --- /dev/null +++ b/changelogs/unreleased/34607-Remove-IIFEs-from-branch_graph-js.yml @@ -0,0 +1,5 @@ +--- +title: Remove IIFEs from branch_graph.js +merge_request: 20008 +author: minghuan lei +type: other diff --git a/changelogs/unreleased/remove_var_from_new_branch_Form_js.yml b/changelogs/unreleased/remove_var_from_new_branch_Form_js.yml new file mode 100644 index 00000000000..2f4bf8e44b5 --- /dev/null +++ b/changelogs/unreleased/remove_var_from_new_branch_Form_js.yml @@ -0,0 +1,5 @@ +--- +title: Remove var from new_branch_form.js +merge_request: 20099 +author: Lee Tickett +type: other diff --git a/doc/ci/variables/predefined_variables.md b/doc/ci/variables/predefined_variables.md index 3ad428a6667..8b4208a8703 100644 --- a/doc/ci/variables/predefined_variables.md +++ b/doc/ci/variables/predefined_variables.md @@ -97,7 +97,7 @@ future GitLab releases.** | `CI_PROJECT_TITLE` | 12.4 | all | The human-readable project name as displayed in the GitLab web interface. | | `CI_PROJECT_URL` | 8.10 | 0.5 | The HTTP(S) address to access project | | `CI_PROJECT_VISIBILITY` | 10.3 | all | The project visibility (internal, private, public) | -| `CI_REGISTRY` | 8.10 | 0.5 | If the Container Registry is enabled it returns the address of GitLab's Container Registry | +| `CI_REGISTRY` | 8.10 | 0.5 | If the Container Registry is enabled it returns the address of GitLab's Container Registry. This variable will include a `:port` value if one has been specified in the registry configuration. | | `CI_REGISTRY_IMAGE` | 8.10 | 0.5 | If the Container Registry is enabled for the project it returns the address of the registry tied to the specific project | | `CI_REGISTRY_PASSWORD` | 9.0 | all | The password to use to push containers to the GitLab Container Registry | | `CI_REGISTRY_USER` | 9.0 | all | The username to use to push containers to the GitLab Container Registry | diff --git a/doc/user/packages/npm_registry/index.md b/doc/user/packages/npm_registry/index.md index 357b7a30591..d8b59ae63d0 100644 --- a/doc/user/packages/npm_registry/index.md +++ b/doc/user/packages/npm_registry/index.md @@ -108,6 +108,21 @@ Then, you could run `npm publish` either locally or via GitLab CI/CD: - **GitLab CI/CD:** Set an `NPM_TOKEN` [variable](../../../ci/variables/README.md) under your project's **Settings > CI/CD > Variables**. + +### Authenticating with a CI job token + +> [Introduced](https://gitlab.com/gitlab-org/gitlab/issues/9104) in GitLab Premium 12.5. + +If you’re using NPM with GitLab CI/CD, a CI job token can be used instead of a personal access token. +The token will inherit the permissions of the user that generates the pipeline. + +Add a corresponding section to your `.npmrc` file: + +```ini +@foo:registry=https://gitlab.com/api/v4/packages/npm/ +//gitlab.com/api/v4/packages/npm/:_authToken=${env.CI_JOB_TOKEN} +//gitlab.com/api/v4/projects/{env.CI_PROJECT_ID>/packages/npm/:_authToken=${env.CI_JOB_TOKEN} +``` ## Uploading packages diff --git a/doc/user/project/merge_requests/img/approvals_premium_project_edit_v12_3.png b/doc/user/project/merge_requests/img/approvals_premium_project_edit_v12_3.png Binary files differdeleted file mode 100644 index bbb131e86e9..00000000000 --- a/doc/user/project/merge_requests/img/approvals_premium_project_edit_v12_3.png +++ /dev/null diff --git a/doc/user/project/merge_requests/img/approvals_premium_project_edit_v12_5.png b/doc/user/project/merge_requests/img/approvals_premium_project_edit_v12_5.png Binary files differnew file mode 100644 index 00000000000..24c8c8f8c11 --- /dev/null +++ b/doc/user/project/merge_requests/img/approvals_premium_project_edit_v12_5.png diff --git a/doc/user/project/merge_requests/merge_request_approvals.md b/doc/user/project/merge_requests/merge_request_approvals.md index 15b846f5f88..76c348eb93e 100644 --- a/doc/user/project/merge_requests/merge_request_approvals.md +++ b/doc/user/project/merge_requests/merge_request_approvals.md @@ -75,9 +75,9 @@ request approval rules: 1. Click **Add approvers** to create a new approval rule. 1. Just like in [GitLab Starter](#editing-approvals), select the approval members and approvals required. 1. Give the approval rule a name that describes the set of approvers selected. -1. Click **Add approvers** to submit the new rule. +1. Click **Add approval rule** to submit the new rule. - ![Approvals premium project edit](img/approvals_premium_project_edit_v12_3.png) + ![Approvals premium project edit](img/approvals_premium_project_edit_v12_5.png) ## Multiple approval rules **(PREMIUM)** diff --git a/locale/gitlab.pot b/locale/gitlab.pot index 1972ba4aa7e..d1d10376352 100644 --- a/locale/gitlab.pot +++ b/locale/gitlab.pot @@ -17260,6 +17260,9 @@ msgstr "" msgid "There was a problem communicating with your device." msgstr "" +msgid "There was a problem saving your custom stage, please try again" +msgstr "" + msgid "There was a problem sending the confirmation email" msgstr "" |