summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhil Hughes <me@iamphill.com>2018-07-26 15:59:13 +0000
committerPhil Hughes <me@iamphill.com>2018-07-26 15:59:13 +0000
commit9ea2e6645e5b2db8033b2d25cfd163349e0f7625 (patch)
treef196bc2fdd5a2d3cba89956b138e269ff75aadef
parent4cebdbbe7f2a6308e093440018a4c40955ed1321 (diff)
parenta8e599f86ec1698ae1d6b1d3941196debdf6db99 (diff)
downloadgitlab-ce-9ea2e6645e5b2db8033b2d25cfd163349e0f7625.tar.gz
Merge branch '48055-web-ide-resize-handles' into 'master'
Resolve "Resize handles for Web IDE right sidebar are too thin" Closes #48055 See merge request gitlab-org/gitlab-ce!20818
-rw-r--r--app/assets/javascripts/vue_shared/components/panel_resizer.vue11
-rw-r--r--app/assets/stylesheets/page_bundles/ide.scss13
-rw-r--r--changelogs/unreleased/48055-web-ide-resize-handles.yml5
-rw-r--r--spec/javascripts/vue_shared/components/panel_resizer_spec.js4
4 files changed, 24 insertions, 9 deletions
diff --git a/app/assets/javascripts/vue_shared/components/panel_resizer.vue b/app/assets/javascripts/vue_shared/components/panel_resizer.vue
index 8c2dcc2d902..7947ae1e4da 100644
--- a/app/assets/javascripts/vue_shared/components/panel_resizer.vue
+++ b/app/assets/javascripts/vue_shared/components/panel_resizer.vue
@@ -32,7 +32,7 @@
},
computed: {
className() {
- return `drag${this.side}`;
+ return `drag-${this.side}`;
},
cursorStyle() {
if (this.enabled) {
@@ -44,8 +44,15 @@
methods: {
resetSize(e) {
e.preventDefault();
+ this.$emit('resize-start', this.size);
+
this.size = this.startSize;
this.$emit('update:size', this.size);
+
+ // End resizing on next tick so that listeners can react to DOM changes
+ this.$nextTick(() => {
+ this.$emit('resize-end', this.size);
+ });
},
startDrag(e) {
if (this.enabled) {
@@ -84,7 +91,7 @@
<div
:class="className"
:style="cursorStyle"
- class="dragHandle"
+ class="drag-handle"
@mousedown="startDrag"
@dblclick="resetSize"
></div>
diff --git a/app/assets/stylesheets/page_bundles/ide.scss b/app/assets/stylesheets/page_bundles/ide.scss
index a346bd04ad3..442aef124d3 100644
--- a/app/assets/stylesheets/page_bundles/ide.scss
+++ b/app/assets/stylesheets/page_bundles/ide.scss
@@ -833,18 +833,21 @@
}
}
-.dragHandle {
+.drag-handle {
position: absolute;
top: 0;
bottom: 0;
- width: 1px;
- background-color: $white-dark;
+ width: 4px;
- &.dragright {
+ &:hover {
+ background-color: $white-normal;
+ }
+
+ &.drag-right {
right: 0;
}
- &.dragleft {
+ &.drag-left {
left: 0;
}
}
diff --git a/changelogs/unreleased/48055-web-ide-resize-handles.yml b/changelogs/unreleased/48055-web-ide-resize-handles.yml
new file mode 100644
index 00000000000..0f650cdda6f
--- /dev/null
+++ b/changelogs/unreleased/48055-web-ide-resize-handles.yml
@@ -0,0 +1,5 @@
+---
+title: Increase width of Web IDE sidebar resize handles
+merge_request: 20818
+author:
+type: fixed
diff --git a/spec/javascripts/vue_shared/components/panel_resizer_spec.js b/spec/javascripts/vue_shared/components/panel_resizer_spec.js
index 8efcb54659d..f1e62069462 100644
--- a/spec/javascripts/vue_shared/components/panel_resizer_spec.js
+++ b/spec/javascripts/vue_shared/components/panel_resizer_spec.js
@@ -29,7 +29,7 @@ describe('Panel Resizer component', () => {
});
expect(vm.$el.tagName).toEqual('DIV');
- expect(vm.$el.getAttribute('class')).toBe('dragHandle dragleft');
+ expect(vm.$el.getAttribute('class')).toBe('drag-handle drag-left');
expect(vm.$el.getAttribute('style')).toBe('cursor: ew-resize;');
});
@@ -40,7 +40,7 @@ describe('Panel Resizer component', () => {
});
expect(vm.$el.tagName).toEqual('DIV');
- expect(vm.$el.getAttribute('class')).toBe('dragHandle dragright');
+ expect(vm.$el.getAttribute('class')).toBe('drag-handle drag-right');
});
it('drag the resizer', () => {