mirror of
https://github.com/flynx/pWiki.git
synced 2025-10-31 19:10:08 +00:00
minor refactoring...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
parent
5af034b765
commit
4998ac950c
@ -134,13 +134,14 @@
|
|||||||
opacity: 0.1;
|
opacity: 0.1;
|
||||||
}
|
}
|
||||||
/* click/tap zone for expand button... */
|
/* click/tap zone for expand button... */
|
||||||
.editor .outline [tabindex]>span:before {
|
.editor .outline [tabindex]:before {
|
||||||
content: "";
|
content: "";
|
||||||
position: absolute;
|
position: absolute;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
right: -2rem;
|
right: -2rem;
|
||||||
width: 2rem;
|
width: 2rem;
|
||||||
height: calc(1em + var(--item-padding) * 2);
|
height: calc(1em + var(--item-padding) * 2);
|
||||||
|
background: transparent;
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
.editor .outline div[collapsed]:before,
|
.editor .outline div[collapsed]:before,
|
||||||
|
|||||||
@ -596,6 +596,9 @@ var Outline = {
|
|||||||
: focused.setAttribute('selected', '') },
|
: focused.setAttribute('selected', '') },
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// XXX might be a good idea to defer specific actions to event-like
|
||||||
|
// handlers...
|
||||||
|
// e.g. clicking left if block -> .blockleft(..) ... etc.
|
||||||
setup: function(dom){
|
setup: function(dom){
|
||||||
var that = this
|
var that = this
|
||||||
this.dom = dom
|
this.dom = dom
|
||||||
@ -609,22 +612,34 @@ var Outline = {
|
|||||||
outline.addEventListener('click',
|
outline.addEventListener('click',
|
||||||
function(evt){
|
function(evt){
|
||||||
var elem = evt.target
|
var elem = evt.target
|
||||||
|
|
||||||
// expand/collapse
|
// expand/collapse
|
||||||
// NOTE: clicking outside the element to the right i.e. on :after/:before
|
|
||||||
if(elem.nodeName == 'DIV'
|
if(elem.nodeName == 'DIV'
|
||||||
&& elem.getAttribute('tabindex')
|
&& elem.getAttribute('tabindex')){
|
||||||
&& elem.offsetWidth < evt.offsetX){
|
// click: left of elem (outside)
|
||||||
that.toggleCollapse(elem) }
|
if(evt.offsetX < 0){
|
||||||
|
// XXX item menu?
|
||||||
|
|
||||||
|
// click: right of elem (outside)
|
||||||
|
} else if(elem.offsetWidth < evt.offsetX){
|
||||||
|
that.toggleCollapse(elem)
|
||||||
|
|
||||||
|
// click inside element...
|
||||||
|
} else {
|
||||||
|
// XXX
|
||||||
|
}
|
||||||
|
|
||||||
// todo: toggle checkbox...
|
// todo: toggle checkbox...
|
||||||
if(elem.classList.contains('todo')){
|
} else if(elem.classList.contains('todo')){
|
||||||
var node = elem.parentElement.parentElement
|
var node = elem.parentElement.parentElement
|
||||||
var text = node.querySelector('textarea')
|
var text = node.querySelector('textarea')
|
||||||
text.value =
|
text.value =
|
||||||
elem.checked ?
|
elem.checked ?
|
||||||
text.value.replace(/^\s*TODO(\s*)/, 'DONE$1')
|
text.value.replace(/^\s*TODO(\s*)/, 'DONE$1')
|
||||||
: text.value.replace(/^\s*DONE(\s*)/, 'TODO$1') }
|
: text.value.replace(/^\s*DONE(\s*)/, 'TODO$1')
|
||||||
|
|
||||||
// check: toggle checkbox...
|
// check: toggle checkbox...
|
||||||
if(elem.classList.contains('check')){
|
} else if(elem.classList.contains('check')){
|
||||||
var node = elem.parentElement.parentElement
|
var node = elem.parentElement.parentElement
|
||||||
var text = node.querySelector('textarea')
|
var text = node.querySelector('textarea')
|
||||||
var i = [...node.querySelectorAll('.check')].indexOf(elem)
|
var i = [...node.querySelectorAll('.check')].indexOf(elem)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user