Add latest changes from gitlab-org/gitlab@master
This commit is contained in:
parent
3fe3436877
commit
e24153b0cb
12 changed files with 101 additions and 86 deletions
|
@ -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,
|
||||
};
|
||||
|
|
|
@ -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;
|
||||
})();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: Resolve Hide Delete selected in designs when viewing an old version
|
||||
merge_request: 19889
|
||||
author:
|
||||
type: fixed
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: Remove IIFEs from branch_graph.js
|
||||
merge_request: 20008
|
||||
author: minghuan lei
|
||||
type: other
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: Remove var from new_branch_form.js
|
||||
merge_request: 20099
|
||||
author: Lee Tickett
|
||||
type: other
|
|
@ -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 |
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 21 KiB |
Binary file not shown.
After Width: | Height: | Size: 21 KiB |
|
@ -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)**
|
||||
|
||||
|
|
|
@ -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 ""
|
||||
|
||||
|
|
Loading…
Reference in a new issue