debian-mirror-gitlab/app/assets/javascripts/ci_variable_list/index.js

53 lines
1.3 KiB
JavaScript
Raw Normal View History

2020-04-08 14:13:33 +05:30
import Vue from 'vue';
2021-03-11 19:13:27 +05:30
import { parseBoolean } from '~/lib/utils/common_utils';
2020-04-08 14:13:33 +05:30
import CiVariableSettings from './components/ci_variable_settings.vue';
import createStore from './store';
2021-04-29 21:17:54 +05:30
const mountCiVariableListApp = (containerEl) => {
2020-06-23 00:09:42 +05:30
const {
endpoint,
projectId,
group,
maskableRegex,
protectedByDefault,
awsLogoSvgPath,
awsTipDeployLink,
awsTipCommandsLink,
awsTipLearnLink,
2021-10-27 15:23:28 +05:30
containsVariableReferenceLink,
2020-06-23 00:09:42 +05:30
protectedEnvironmentVariablesLink,
maskedEnvironmentVariablesLink,
} = containerEl.dataset;
2020-04-08 14:13:33 +05:30
const isGroup = parseBoolean(group);
2020-05-24 23:13:21 +05:30
const isProtectedByDefault = parseBoolean(protectedByDefault);
2020-04-08 14:13:33 +05:30
const store = createStore({
endpoint,
projectId,
isGroup,
maskableRegex,
2020-05-24 23:13:21 +05:30
isProtectedByDefault,
2020-06-23 00:09:42 +05:30
awsLogoSvgPath,
awsTipDeployLink,
awsTipCommandsLink,
awsTipLearnLink,
2021-10-27 15:23:28 +05:30
containsVariableReferenceLink,
2020-06-23 00:09:42 +05:30
protectedEnvironmentVariablesLink,
maskedEnvironmentVariablesLink,
2020-04-08 14:13:33 +05:30
});
return new Vue({
2020-06-23 00:09:42 +05:30
el: containerEl,
2020-04-08 14:13:33 +05:30
store,
render(createElement) {
return createElement(CiVariableSettings);
},
});
};
2021-04-29 21:17:54 +05:30
export default (containerId = 'js-ci-project-variables') => {
const el = document.getElementById(containerId);
return !el ? {} : mountCiVariableListApp(el);
};