1
0
mirror of https://github.com/chinchang/web-maker.git synced 2025-07-10 00:16:18 +02:00

add collapsing on double click also.

This commit is contained in:
Kushagra Gour
2016-12-03 15:23:29 +05:30
parent 89234a9124
commit f5fafc9db9
2 changed files with 33 additions and 32 deletions

View File

@ -128,9 +128,6 @@
background: var(--color-bg); background: var(--color-bg);
transition: height 0.30s ease, width 0.30s ease; transition: height 0.30s ease, width 0.30s ease;
will-change: height; will-change: height;
/*animation: pop-in 0.4s cubic-bezier(.71,1.7,.77,1.24) forwards 0.2s;*/
/*animation: pop-in 0.4s ease forwards 0.2s;*/
/*opacity: 0;*/
} }
.layout-2 .code-wrap.is-minimized { .layout-2 .code-wrap.is-minimized {
flex-direction: row; flex-direction: row;
@ -634,8 +631,8 @@
</div> </div>
<div class="content-wrap flex flex-grow"> <div class="content-wrap flex flex-grow">
<div class="code-side" id="js-code-side"> <div class="code-side" id="js-code-side">
<div id="js-html-code" data-type="html" class="code-wrap"> <div data-code-wrap-id="0" id="js-html-code" data-type="html" class="code-wrap">
<div class="code-wrap__header"> <div class="js-code-wrap__header code-wrap__header" title="Double click to toggle code pane">
<div class="btn-group" dropdown title="Click to change"> <div class="btn-group" dropdown title="Click to change">
<span id="js-html-mode-label" class="code-wrap__header-label">HTML</span><span class="caret"></span> <span id="js-html-mode-label" class="code-wrap__header-label">HTML</span><span class="caret"></span>
<ul class="js-modes-menu dropdown__menu"> <ul class="js-modes-menu dropdown__menu">
@ -645,13 +642,13 @@
</ul> </ul>
</div> </div>
<div class="code-wrap__header-right-options"> <div class="code-wrap__header-right-options">
<a data-collapse-id="0" class="js-code-collapse-btn code-wrap__header-btn code-wrap__collapse-btn"> <a class="js-code-collapse-btn code-wrap__header-btn code-wrap__collapse-btn" title="Toggle code pane">
</a> </a>
</div> </div>
</div> </div>
</div> </div>
<div id="js-css-code" data-type="css" class="code-wrap"> <div data-code-wrap-id="1" id="js-css-code" data-type="css" class="code-wrap">
<div class="code-wrap__header"> <div class="js-code-wrap__header code-wrap__header" title="Double click to toggle code pane">
<div class="btn-group" dropdown title="Click to change"> <div class="btn-group" dropdown title="Click to change">
<span id="js-css-mode-label" class="code-wrap__header-label">CSS</span><span class="caret"></span> <span id="js-css-mode-label" class="code-wrap__header-label">CSS</span><span class="caret"></span>
<ul class="js-modes-menu dropdown__menu"> <ul class="js-modes-menu dropdown__menu">
@ -661,13 +658,13 @@
</ul> </ul>
</div> </div>
<div class="code-wrap__header-right-options"> <div class="code-wrap__header-right-options">
<a data-collapse-id="1" class="js-code-collapse-btn code-wrap__header-btn code-wrap__collapse-btn"> <a class="js-code-collapse-btn code-wrap__header-btn code-wrap__collapse-btn" title="Toggle code pane">
</a> </a>
</div> </div>
</div> </div>
</div> </div>
<div id="js-js-code" data-type="js" class="code-wrap"> <div data-code-wrap-id="2" id="js-js-code" data-type="js" class="code-wrap">
<div class="code-wrap__header"> <div class="js-code-wrap__header code-wrap__header" title="Double click to toggle code pane">
<div class="btn-group" dropdown title="Click to change"> <div class="btn-group" dropdown title="Click to change">
<span id="js-js-mode-label" class="code-wrap__header-label">JS</span><span class="caret"></span> <span id="js-js-mode-label" class="code-wrap__header-label">JS</span><span class="caret"></span>
<ul class="js-modes-menu dropdown__menu"> <ul class="js-modes-menu dropdown__menu">
@ -677,7 +674,7 @@
</ul> </ul>
</div> </div>
<div class="code-wrap__header-right-options"> <div class="code-wrap__header-right-options">
<a data-collapse-id="2" class="js-code-collapse-btn code-wrap__header-btn code-wrap__collapse-btn"> <a class="js-code-collapse-btn code-wrap__header-btn code-wrap__collapse-btn" title="Toggle code pane">
</a> </a>
</div> </div>
</div> </div>

View File

@ -97,6 +97,16 @@
}, 50); }, 50);
} }
function toggleCodeWrapCollapse(codeWrapEl) {
if (codeWrapEl.classList.contains('is-minimized')) {
codeWrapEl.classList.remove('is-minimized');
codeSplitInstance.setSizes([ 33.3, 33.3, 33.3 ]);
} else {
codeSplitInstance.collapse(parseInt(codeWrapEl.dataset.codeWrapId, 10));
codeWrapEl.classList.add('is-minimized');
}
}
function resetSplitting(dontRecreate) { function resetSplitting(dontRecreate) {
if (codeSplitInstance) { if (codeSplitInstance) {
codeSplitInstance.destroy(); codeSplitInstance.destroy();
@ -109,8 +119,12 @@
direction: (currentLayoutMode === 2 ? 'horizontal' : 'vertical'), direction: (currentLayoutMode === 2 ? 'horizontal' : 'vertical'),
minSize: minCodeWrapSize, minSize: minCodeWrapSize,
gutterSize: 6, gutterSize: 6,
onDragEnd: function() { onDragStart: function () {
document.body.classList.add('is-dragging');
},
onDragEnd: function () {
updateCodeWrapCollapseStates(); updateCodeWrapCollapseStates();
document.body.classList.remove('is-dragging');
} }
}; };
if (currentItem && currentItem.sizes) { if (currentItem && currentItem.sizes) {
@ -118,7 +132,7 @@
} else { } else {
options.sizes = [ 33.33, 33.33, 33.33 ]; options.sizes = [ 33.33, 33.33, 33.33 ];
} }
utils.log('reset spliiting', options.sizes) // utils.log('reset spliiting', options.sizes)
codeSplitInstance = Split(['#js-html-code', '#js-css-code', '#js-js-code'], options); codeSplitInstance = Split(['#js-html-code', '#js-css-code', '#js-js-code'], options);
mainSplitInstance = Split(['#js-code-side', '#js-demo-side' ], { mainSplitInstance = Split(['#js-code-side', '#js-demo-side' ], {
direction: (currentLayoutMode === 2 ? 'vertical' : 'horizontal'), direction: (currentLayoutMode === 2 ? 'vertical' : 'horizontal'),
@ -743,16 +757,7 @@
collapseBtns.forEach(function (btn) { collapseBtns.forEach(function (btn) {
btn.addEventListener('click', function (e) { btn.addEventListener('click', function (e) {
var codeWrapParent = e.currentTarget.parentElement.parentElement.parentElement; var codeWrapParent = e.currentTarget.parentElement.parentElement.parentElement;
if (codeWrapParent.classList.contains('is-minimized')) { toggleCodeWrapCollapse(codeWrapParent);
// e.currentTarget.classList.remove('is-minimized');
codeWrapParent.classList.remove('is-minimized');
codeSplitInstance.setSizes([ 33.3, 33.3, 33.3 ]);
} else {
// codeSplitInstance.setSizes([ 0, 50, 50 ]);
codeSplitInstance.collapse(parseInt(e.currentTarget.dataset.collapseId, 10));
// e.currentTarget.classList.add('is-minimized');
codeWrapParent.classList.add('is-minimized');
}
return false; return false;
}); });
}); });
@ -782,6 +787,13 @@
toggleSavedItemsPane(false); toggleSavedItemsPane(false);
} }
}); });
window.addEventListener('dblclick', function(e) {
var target = e.target;
if (target.classList.contains('js-code-wrap__header')) {
var codeWrapParent = target.parentElement;
toggleCodeWrapCollapse(codeWrapParent);
}
});
utils.onButtonClick(settingsBtn, function() { utils.onButtonClick(settingsBtn, function() {
if (chrome.runtime.openOptionsPage) { if (chrome.runtime.openOptionsPage) {
@ -816,14 +828,6 @@
externalJsTextarea.addEventListener('change', onExternalLibChange); externalJsTextarea.addEventListener('change', onExternalLibChange);
externalCssTextarea.addEventListener('change', onExternalLibChange); externalCssTextarea.addEventListener('change', onExternalLibChange);
// TODO: move to split.js ondrag listeners
window.addEventListener('mousedown', function() {
document.body.classList.add('is-dragging');
});
window.addEventListener('mouseup', function() {
document.body.classList.remove('is-dragging');
});
chrome.storage.local.get({ chrome.storage.local.get({
layoutMode: 1, layoutMode: 1,
code: '' code: ''