Add latest changes from gitlab-org/gitlab@master
This commit is contained in:
parent
8a1c3b6e1a
commit
dbd50b6e20
|
@ -170,7 +170,7 @@ Crossplane runs inside your Kubernetes cluster and supports secure connectivity
|
|||
),
|
||||
),
|
||||
{
|
||||
gitlabIntegrationLink: `<a href="https://docs.gitlab.com/ce/user/project/integrations/crossplane.html"
|
||||
gitlabIntegrationLink: `<a href="https://docs.gitlab.com/ee/user/clusters/applications.html#crossplane"
|
||||
target="_blank" rel="noopener noreferrer">
|
||||
${_.escape(s__('ClusterIntegration|Gitlab Integration'))}</a>`,
|
||||
kubectl: `<code>kubectl</code>`,
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* eslint-disable func-names, no-var, no-param-reassign, one-var, operator-assignment, no-else-return, consistent-return */
|
||||
/* eslint-disable func-names, no-param-reassign, operator-assignment, no-else-return, consistent-return */
|
||||
import $ from 'jquery';
|
||||
import { insertText } from '~/lib/utils/common_utils';
|
||||
|
||||
|
@ -13,8 +13,7 @@ function addBlockTags(blockTag, selected) {
|
|||
}
|
||||
|
||||
function lineBefore(text, textarea) {
|
||||
var split;
|
||||
split = text
|
||||
const split = text
|
||||
.substring(0, textarea.selectionStart)
|
||||
.trim()
|
||||
.split('\n');
|
||||
|
@ -80,7 +79,7 @@ function moveCursor({
|
|||
editorSelectionStart,
|
||||
editorSelectionEnd,
|
||||
}) {
|
||||
var pos;
|
||||
let pos;
|
||||
if (textArea && !textArea.setSelectionRange) {
|
||||
return;
|
||||
}
|
||||
|
@ -132,18 +131,13 @@ export function insertMarkdownText({
|
|||
select,
|
||||
editor,
|
||||
}) {
|
||||
var textToInsert,
|
||||
selectedSplit,
|
||||
startChar,
|
||||
removedLastNewLine,
|
||||
removedFirstNewLine,
|
||||
currentLineEmpty,
|
||||
lastNewLine,
|
||||
editorSelectionStart,
|
||||
editorSelectionEnd;
|
||||
removedLastNewLine = false;
|
||||
removedFirstNewLine = false;
|
||||
currentLineEmpty = false;
|
||||
let removedLastNewLine = false;
|
||||
let removedFirstNewLine = false;
|
||||
let currentLineEmpty = false;
|
||||
let editorSelectionStart;
|
||||
let editorSelectionEnd;
|
||||
let lastNewLine;
|
||||
let textToInsert;
|
||||
|
||||
if (editor) {
|
||||
const selectionRange = editor.getSelectionRange();
|
||||
|
@ -186,7 +180,7 @@ export function insertMarkdownText({
|
|||
}
|
||||
}
|
||||
|
||||
selectedSplit = selected.split('\n');
|
||||
const selectedSplit = selected.split('\n');
|
||||
|
||||
if (editor && !wrap) {
|
||||
lastNewLine = editor.getValue().split('\n')[editorSelectionStart.row];
|
||||
|
@ -207,8 +201,7 @@ export function insertMarkdownText({
|
|||
(textArea && textArea.selectionStart === 0) ||
|
||||
(editor && editorSelectionStart.column === 0 && editorSelectionStart.row === 0);
|
||||
|
||||
startChar = !wrap && !currentLineEmpty && !isBeginning ? '\n' : '';
|
||||
|
||||
const startChar = !wrap && !currentLineEmpty && !isBeginning ? '\n' : '';
|
||||
const textPlaceholder = '{text}';
|
||||
|
||||
if (selectedSplit.length > 1 && (!wrap || (blockTag != null && blockTag !== ''))) {
|
||||
|
@ -263,11 +256,10 @@ export function insertMarkdownText({
|
|||
}
|
||||
|
||||
function updateText({ textArea, tag, cursorOffset, blockTag, wrap, select, tagContent }) {
|
||||
var $textArea, selected, text;
|
||||
$textArea = $(textArea);
|
||||
const $textArea = $(textArea);
|
||||
textArea = $textArea.get(0);
|
||||
text = $textArea.val();
|
||||
selected = selectedText(text, textArea) || tagContent;
|
||||
const text = $textArea.val();
|
||||
const selected = selectedText(text, textArea) || tagContent;
|
||||
$textArea.focus();
|
||||
return insertMarkdownText({
|
||||
textArea,
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<script>
|
||||
/* global katex */
|
||||
import marked from 'marked';
|
||||
import sanitize from 'sanitize-html';
|
||||
import katex from 'katex';
|
||||
import Prompt from './prompt.vue';
|
||||
|
||||
const renderer = new marked.Renderer();
|
||||
|
@ -70,7 +70,6 @@ renderer.paragraph = t => {
|
|||
};
|
||||
|
||||
marked.setOptions({
|
||||
sanitize: true,
|
||||
renderer,
|
||||
});
|
||||
|
||||
|
@ -87,9 +86,66 @@ export default {
|
|||
computed: {
|
||||
markdown() {
|
||||
return sanitize(marked(this.cell.source.join('').replace(/\\/g, '\\\\')), {
|
||||
allowedTags: false,
|
||||
// allowedTags from GitLab's inline HTML guidelines
|
||||
// https://docs.gitlab.com/ee/user/markdown.html#inline-html
|
||||
allowedTags: [
|
||||
'h1',
|
||||
'h2',
|
||||
'h3',
|
||||
'h4',
|
||||
'h5',
|
||||
'h6',
|
||||
'h7',
|
||||
'h8',
|
||||
'br',
|
||||
'b',
|
||||
'i',
|
||||
'strong',
|
||||
'em',
|
||||
'a',
|
||||
'pre',
|
||||
'code',
|
||||
'img',
|
||||
'tt',
|
||||
'div',
|
||||
'ins',
|
||||
'del',
|
||||
'sup',
|
||||
'sub',
|
||||
'p',
|
||||
'ol',
|
||||
'ul',
|
||||
'table',
|
||||
'thead',
|
||||
'tbody',
|
||||
'tfoot',
|
||||
'blockquote',
|
||||
'dl',
|
||||
'dt',
|
||||
'dd',
|
||||
'kbd',
|
||||
'q',
|
||||
'samp',
|
||||
'var',
|
||||
'hr',
|
||||
'ruby',
|
||||
'rt',
|
||||
'rp',
|
||||
'li',
|
||||
'tr',
|
||||
'td',
|
||||
'th',
|
||||
's',
|
||||
'strike',
|
||||
'span',
|
||||
'abbr',
|
||||
'abbr',
|
||||
'summary',
|
||||
],
|
||||
allowedAttributes: {
|
||||
'*': ['class'],
|
||||
'*': ['class', 'style'],
|
||||
a: ['href'],
|
||||
img: ['src'],
|
||||
},
|
||||
});
|
||||
},
|
||||
|
@ -105,6 +161,15 @@ export default {
|
|||
</template>
|
||||
|
||||
<style>
|
||||
/*
|
||||
Importing the necessary katex stylesheet from the node_module folder rather
|
||||
than copying the stylesheet into `app/assets/stylesheets/vendors` for
|
||||
automatic importing via `app/assets/stylesheets/application.scss`. The reason
|
||||
is that the katex stylesheet depends on many fonts that are in node_module
|
||||
subfolders - moving all these fonts would make updating katex difficult.
|
||||
*/
|
||||
@import '~katex/dist/katex.min.css';
|
||||
|
||||
.markdown .katex {
|
||||
display: block;
|
||||
text-align: center;
|
||||
|
|
|
@ -58,6 +58,6 @@
|
|||
= f.text_field :default_ci_config_path, class: 'form-control', placeholder: '.gitlab-ci.yml'
|
||||
%p.form-text.text-muted
|
||||
= _("The default CI configuration path for new projects.").html_safe
|
||||
= link_to icon('question-circle'), help_page_path('user/project/pipelines/settings', anchor: 'custom-ci-config-path'), target: '_blank'
|
||||
= link_to icon('question-circle'), help_page_path('user/project/pipelines/settings', anchor: 'custom-ci-configuration-path'), target: '_blank'
|
||||
|
||||
= f.submit _('Save changes'), class: "btn btn-success"
|
||||
|
|
|
@ -55,7 +55,7 @@
|
|||
= f.text_field :ci_config_path, class: 'form-control', placeholder: '.gitlab-ci.yml'
|
||||
%p.form-text.text-muted
|
||||
= _("The path to the CI configuration file. Defaults to <code>.gitlab-ci.yml</code>").html_safe
|
||||
= link_to icon('question-circle'), help_page_path('user/project/pipelines/settings', anchor: 'custom-ci-config-path'), target: '_blank'
|
||||
= link_to icon('question-circle'), help_page_path('user/project/pipelines/settings', anchor: 'custom-ci-configuration-path'), target: '_blank'
|
||||
|
||||
%hr
|
||||
.form-group
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: Fix Crossplane help link in cluster applications page
|
||||
merge_request: 20668
|
||||
author:
|
||||
type: fixed
|
|
@ -161,6 +161,11 @@ but commented out to help encourage others to add to it in the future. -->
|
|||
|
||||
## Required pipeline configuration **(PREMIUM ONLY)**
|
||||
|
||||
CAUTION: **Caution:**
|
||||
The Required Pipeline Configuration feature is deprecated and will be removed when an
|
||||
[improved compliance solution](https://gitlab.com/gitlab-org/gitlab/issues/34830)
|
||||
is added to GitLab. It is recommended to avoid using this feature.
|
||||
|
||||
GitLab administrators can force a pipeline configuration to run on every
|
||||
pipeline.
|
||||
|
||||
|
|
|
@ -417,6 +417,18 @@ install Crossplane using the
|
|||
[`values.yaml`](https://github.com/crossplaneio/crossplane/blob/master/cluster/charts/crossplane/values.yaml.tmpl)
|
||||
file.
|
||||
|
||||
#### Enabling installation
|
||||
|
||||
This is a preliminary release of Crossplane as a GitLab-managed application. By default,
|
||||
the ability to install it is disabled.
|
||||
|
||||
To allow installation of Crossplane as a GitLab-managed application, ask a GitLab
|
||||
administrator to run following command within a Rails console:
|
||||
|
||||
```ruby
|
||||
Feature.enable(:enable_cluster_application_crossplane)
|
||||
```
|
||||
|
||||
## Upgrading applications
|
||||
|
||||
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/merge_requests/24789) in GitLab 11.8.
|
||||
|
|
|
@ -49,7 +49,7 @@ describe('Markdown component', () => {
|
|||
});
|
||||
|
||||
Vue.nextTick(() => {
|
||||
expect(vm.$el.querySelector('a')).toBeNull();
|
||||
expect(vm.$el.querySelector('a').getAttribute('href')).toBeNull();
|
||||
|
||||
done();
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue