Compare commits

...

2 Commits

Author SHA1 Message Date
ec195505cc added ignore attr -- tamplates are note ignored from progress calculations...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
2025-02-15 21:26:28 +03:00
6f71b9c347 notes...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
2025-02-14 21:35:26 +03:00
2 changed files with 27 additions and 6 deletions

View File

@ -357,7 +357,9 @@ var templates = {
// body... // body...
// XXX only do this if we have nested elements... // XXX only do this if we have nested elements...
elem.collapsed = true elem.collapsed = true
elem.ignore = true
// button... // button...
return header }, return header },
// XXX focus button -- see todo... // XXX focus button -- see todo...
@ -532,6 +534,7 @@ var quoted = {
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// XXX add ability to skip subtree from status calculation...
var tasks = { var tasks = {
__proto__: plugin, __proto__: plugin,
@ -558,6 +561,8 @@ var tasks = {
return res }, {})) }, return res }, {})) },
// State... // State...
// NOTE: this will not count checkboxes under '[ignore]', this is
// useful for not ounting items withing templates and the like...
updateStatus: function(editor, node){ updateStatus: function(editor, node){
node = editor.get(node) node = editor.get(node)
if(node == null){ if(node == null){
@ -566,10 +571,16 @@ var tasks = {
.querySelector('.view') .querySelector('.view')
.querySelector('.completion') .querySelector('.completion')
if(state){ if(state){
var checkboxes =
node.querySelectorAll('input[type=checkbox]').length
// XXX should we check ignore value here???
- node.querySelectorAll('[ignore] input[type=checkbox]').length
var checkboxes_checked =
node.querySelectorAll('input[type=checkbox]:checked').length
// XXX should we check ignore value here???
- node.querySelectorAll('[ignore] input[type=checkbox]:checked').length
var c = var c =
((node.querySelectorAll('input[type=checkbox]:checked').length ((checkboxes_checked / checkboxes) * 100)
/ node.querySelectorAll('input[type=checkbox]').length)
* 100)
.toFixed(0) .toFixed(0)
!isNaN(c) !isNaN(c)
&& state.setAttribute('completion', c +'%') } && state.setAttribute('completion', c +'%') }
@ -1045,6 +1056,7 @@ var JSONOutline = {
__block_attrs__: { __block_attrs__: {
id: 'attr', id: 'attr',
collapsed: 'attr', collapsed: 'attr',
ignore: 'attr',
focused: 'cls', focused: 'cls',
}, },

View File

@ -50,6 +50,7 @@ var setup = function(){
- -
- ## Bugs: - ## Bugs:
focused:: true focused:: true
- BUG: refreshes under FF sometimes produce partial/inconsistent views...
- BUG: need to account for hidden elements when cursoring between elements - BUG: need to account for hidden elements when cursoring between elements
- to reproduce:: - to reproduce::
- XXX move from/to this element - XXX move from/to this element
@ -210,10 +211,18 @@ var setup = function(){
- [ ] B - [ ] B
- [ ] C - [ ] C
- and a shorthand for todo: - and a shorthand for todo:
- TODO in lists like this new items will be created with a todo template - TODO in lists like this new items will be created with a todo
template automatically (???)
- [ ] A - [ ] A
- [ ] B - [ ] B
- [ ] C - [ ] C
- Need to ignore the template subtree in `[%]` calculation... DONE
collapsed:: true
- Example [%] (should be 50%)
- TEMPLATE new
- [ ]
- [x] Done
- [ ] Undone
- Time to think about a standalone client -- at least to edit own notes as a test... - Time to think about a standalone client -- at least to edit own notes as a test...
- _also this would be a nice opportunity to start the move to a newer electron version_ - _also this would be a nice opportunity to start the move to a newer electron version_
- Deployment: - Deployment:
@ -726,7 +735,7 @@ var setup = function(){
- [ ] ASAP - [ ] ASAP
- [ ] - [ ]
- -
- [ ] example item - Q: should we include button text in item???
- Attributes: - Attributes:
id:: attributes id:: attributes
- collapsed - collapsed