Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app/assets/javascripts/pages/admin')
-rw-r--r--app/assets/javascripts/pages/admin/application_settings/index.js2
-rw-r--r--app/assets/javascripts/pages/admin/users/components/user_modal_manager.vue18
-rw-r--r--app/assets/javascripts/pages/admin/users/components/user_operation_confirmation_modal.vue71
-rw-r--r--app/assets/javascripts/pages/admin/users/index.js14
4 files changed, 10 insertions, 95 deletions
diff --git a/app/assets/javascripts/pages/admin/application_settings/index.js b/app/assets/javascripts/pages/admin/application_settings/index.js
index 143d15f92cd..cce30e6b12a 100644
--- a/app/assets/javascripts/pages/admin/application_settings/index.js
+++ b/app/assets/javascripts/pages/admin/application_settings/index.js
@@ -1,7 +1,6 @@
import initSettingsPanels from '~/settings_panels';
import projectSelect from '~/project_select';
import selfMonitor from '~/self_monitor';
-import maintenanceModeSettings from '~/maintenance_mode_settings';
import initVariableList from '~/ci_variable_list';
document.addEventListener('DOMContentLoaded', () => {
@@ -9,7 +8,6 @@ document.addEventListener('DOMContentLoaded', () => {
initVariableList('js-instance-variables');
}
selfMonitor();
- maintenanceModeSettings();
// Initialize expandable settings panels
initSettingsPanels();
projectSelect();
diff --git a/app/assets/javascripts/pages/admin/users/components/user_modal_manager.vue b/app/assets/javascripts/pages/admin/users/components/user_modal_manager.vue
index a08d32028c3..24c9fa4cb3f 100644
--- a/app/assets/javascripts/pages/admin/users/components/user_modal_manager.vue
+++ b/app/assets/javascripts/pages/admin/users/components/user_modal_manager.vue
@@ -1,14 +1,13 @@
<script>
+import DeleteUserModal from './delete_user_modal.vue';
+
export default {
+ components: { DeleteUserModal },
props: {
modalConfiguration: {
required: true,
type: Object,
},
- actionModals: {
- required: true,
- type: Object,
- },
csrfToken: {
required: true,
type: String,
@@ -21,10 +20,7 @@ export default {
},
computed: {
activeModal() {
- if (!this.currentModalData) return null;
- const { glModalAction: action } = this.currentModalData;
-
- return this.actionModals[action];
+ return Boolean(this.currentModalData);
},
modalProps() {
@@ -56,9 +52,7 @@ export default {
show(modalData) {
const { glModalAction: requestedAction } = modalData;
- if (!this.actionModals[requestedAction]) {
- throw new Error(`Requested non-existing modal action ${requestedAction}`);
- }
+
if (!this.modalConfiguration[requestedAction]) {
throw new Error(`Modal action ${requestedAction} has no configuration in HTML`);
}
@@ -73,5 +67,5 @@ export default {
};
</script>
<template>
- <div :is="activeModal" v-if="activeModal" ref="modal" v-bind="modalProps" />
+ <delete-user-modal v-if="activeModal" ref="modal" v-bind="modalProps" />
</template>
diff --git a/app/assets/javascripts/pages/admin/users/components/user_operation_confirmation_modal.vue b/app/assets/javascripts/pages/admin/users/components/user_operation_confirmation_modal.vue
deleted file mode 100644
index 4ca6ce6f1c3..00000000000
--- a/app/assets/javascripts/pages/admin/users/components/user_operation_confirmation_modal.vue
+++ /dev/null
@@ -1,71 +0,0 @@
-<script>
-/* eslint-disable vue/no-v-html */
-import { GlModal } from '@gitlab/ui';
-import { sprintf } from '~/locale';
-
-export default {
- components: {
- GlModal,
- },
- props: {
- title: {
- type: String,
- required: true,
- },
- content: {
- type: String,
- required: true,
- },
- action: {
- type: String,
- required: true,
- },
- url: {
- type: String,
- required: true,
- },
- username: {
- type: String,
- required: true,
- },
- csrfToken: {
- type: String,
- required: true,
- },
- method: {
- type: String,
- required: false,
- default: 'put',
- },
- },
- computed: {
- modalTitle() {
- return sprintf(this.title, { username: this.username });
- },
- },
- methods: {
- show() {
- this.$refs.modal.show();
- },
- submit() {
- this.$refs.form.submit();
- },
- },
-};
-</script>
-<template>
- <gl-modal
- ref="modal"
- modal-id="user-operation-modal"
- :title="modalTitle"
- ok-variant="warning"
- :ok-title="action"
- @ok="submit"
- >
- <form ref="form" :action="url" method="post">
- <span v-html="content"></span>
- <input ref="method" type="hidden" name="_method" :value="method" />
- <input :value="csrfToken" type="hidden" name="authenticity_token" />
- </form>
- </gl-modal>
-</template>
diff --git a/app/assets/javascripts/pages/admin/users/index.js b/app/assets/javascripts/pages/admin/users/index.js
index 5f3cdc0bfc6..07462b4592f 100644
--- a/app/assets/javascripts/pages/admin/users/index.js
+++ b/app/assets/javascripts/pages/admin/users/index.js
@@ -2,18 +2,12 @@ import Vue from 'vue';
import Translate from '~/vue_shared/translate';
import ModalManager from './components/user_modal_manager.vue';
-import DeleteUserModal from './components/delete_user_modal.vue';
-import UserOperationConfirmationModal from './components/user_operation_confirmation_modal.vue';
import csrf from '~/lib/utils/csrf';
import initConfirmModal from '~/confirm_modal';
+import initAdminUsersApp from '~/admin/users';
-const MODAL_TEXTS_CONTAINER_SELECTOR = '#modal-texts';
-const MODAL_MANAGER_SELECTOR = '#user-modal';
-const ACTION_MODALS = {
- deactivate: UserOperationConfirmationModal,
- delete: DeleteUserModal,
- 'delete-with-contributions': DeleteUserModal,
-};
+const MODAL_TEXTS_CONTAINER_SELECTOR = '#js-modal-texts';
+const MODAL_MANAGER_SELECTOR = '#js-delete-user-modal';
function loadModalsConfigurationFromHtml(modalsElement) {
const modalsConfiguration = {};
@@ -56,7 +50,6 @@ document.addEventListener('DOMContentLoaded', () => {
ref: 'manager',
props: {
modalConfiguration,
- actionModals: ACTION_MODALS,
csrfToken: csrf.token,
},
});
@@ -64,4 +57,5 @@ document.addEventListener('DOMContentLoaded', () => {
});
initConfirmModal();
+ initAdminUsersApp();
});