Checkable checkboxes within pages #4

Closed
opened 2026-02-04 16:14:18 +03:00 by OVERLORD · 19 comments
Owner

Originally created by @ssddanbrown on GitHub (Aug 29, 2015).

Allow the Creation of checkboxes within pages which users can then use when going down a list. (No state saving)

Originally created by @ssddanbrown on GitHub (Aug 29, 2015). Allow the Creation of checkboxes within pages which users can then use when going down a list. (No state saving)
OVERLORD added the 🛠️ Enhancement label 2026-02-04 16:14:18 +03:00
Author
Owner

@cgpro commented on GitHub (Jun 20, 2016):

+1

Very handy feature for 2do lists!

@cgpro commented on GitHub (Jun 20, 2016): +1 Very handy feature for 2do lists!
Author
Owner

@bridgeyuwa commented on GitHub (Jun 20, 2016):

+1

@bridgeyuwa commented on GitHub (Jun 20, 2016): +1
Author
Owner

@cgpro commented on GitHub (Jun 28, 2016):

resources/assets/js/pages/page-form.js

replace line 16:
toolbar: "undo redo | styleselect | bold italic underline strikethrough superscript subscript | forecolor backcolor | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | table image-insert link hr | removeformat code fullscreen | checker",

add after line 162:
// Add checkbox editor.addButton('checker', { text: 'Checkbox', icon: false, onclick: function () { editor.insertContent('<label><input type="checkbox" name="checkbox" value="value"> Text</label>'); } });

Can't test it... :( the scripts have to be recompiled.

@cgpro commented on GitHub (Jun 28, 2016): resources/assets/js/pages/page-form.js **replace line 16:** `toolbar: "undo redo | styleselect | bold italic underline strikethrough superscript subscript | forecolor backcolor | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | table image-insert link hr | removeformat code fullscreen | checker",` **add after line 162:** `// Add checkbox editor.addButton('checker', { text: 'Checkbox', icon: false, onclick: function () { editor.insertContent('<label><input type="checkbox" name="checkbox" value="value"> Text</label>'); } }); ` Can't test it... :( the scripts have to be recompiled.
Author
Owner

@tgrosinger commented on GitHub (Nov 2, 2018):

I agree that this would be an awesome feature to have. It looks like a potential solution has been proposed.

Can I bump this and hopefully get a maintainer to test out that solution?

@tgrosinger commented on GitHub (Nov 2, 2018): I agree that this would be an awesome feature to have. It looks like a potential solution has been proposed. Can I bump this and hopefully get a maintainer to test out that solution?
Author
Owner

@mainmachine commented on GitHub (May 1, 2020):

Was this ever implemented...?

@mainmachine commented on GitHub (May 1, 2020): Was this ever implemented...?
Author
Owner

@ssddanbrown commented on GitHub (May 1, 2020):

@mainmachine Nope, Not yet.

@ssddanbrown commented on GitHub (May 1, 2020): @mainmachine Nope, Not yet.
Author
Owner

@mainmachine commented on GitHub (May 1, 2020):

@mainmachine Nope, Not yet.

Darn! Thanks for the quick response and all your work on Bookstack! :)

@mainmachine commented on GitHub (May 1, 2020): > @mainmachine Nope, Not yet. Darn! Thanks for the quick response and all your work on Bookstack! :)
Author
Owner

@lpadula commented on GitHub (Mar 7, 2021):

Hi, any update of this?

@lpadula commented on GitHub (Mar 7, 2021): Hi, any update of this?
Author
Owner

@eXahostCOM commented on GitHub (Apr 16, 2021):

Hey,
this function is essential for us. Would be great :)

@eXahostCOM commented on GitHub (Apr 16, 2021): Hey, this function is essential for us. Would be great :)
Author
Owner

@netaviator commented on GitHub (Jul 19, 2021):

Hey,
would be great to have this implemented!

@netaviator commented on GitHub (Jul 19, 2021): Hey, would be great to have this implemented!
Author
Owner

@yblis commented on GitHub (Aug 25, 2021):

It would be great to have this feature!

@yblis commented on GitHub (Aug 25, 2021): It would be great to have this feature!
Author
Owner

@lpadula commented on GitHub (Sep 27, 2021):

checkboxes are working on the markdown mode, but not in the HTML mode :(

@lpadula commented on GitHub (Sep 27, 2021): checkboxes are working on the markdown mode, but not in the HTML mode :(
Author
Owner

@ssddanbrown commented on GitHub (Sep 28, 2021):

This is heavily tied to editor functionality so will be realistically be blocked by #2738. Might or might not be part of that, but will be blocked beforehand either way.

@ssddanbrown commented on GitHub (Sep 28, 2021): This is heavily tied to editor functionality so will be realistically be blocked by #2738. Might or might not be part of that, but will be blocked beforehand either way.
Author
Owner

@ssddanbrown commented on GitHub (Mar 29, 2022):

With the merge of #3333 checkbox task-lists are now available/possible within the WYSIWYG editor.
The implementation differs a little to what was originally thought out here, with the checkbox state being disabled on view but editable via page editor. This was to align and remain compatible with the existing markdown editor task-list implementation. If needed, you could sprinkle a little "Custom HTML Head Content" javascript to not have the disabled state for view.

These changes will be part of the next feature release.

@ssddanbrown commented on GitHub (Mar 29, 2022): With the merge of #3333 checkbox task-lists are now available/possible within the WYSIWYG editor. The implementation differs a little to what was originally thought out here, with the checkbox state being disabled on view but editable via page editor. This was to align and remain compatible with the existing markdown editor task-list implementation. If needed, you could sprinkle a little "Custom HTML Head Content" javascript to not have the disabled state for view. These changes will be part of the next feature release.
Author
Owner

@DhrRob commented on GitHub (Apr 5, 2022):

If needed, you could sprinkle a little "Custom HTML Head Content" javascript to not have the disabled state for view.

I made this script which you can add in the head content through the admin panel. Feel free to use.
It disables the disabled state of the checkbox inputs.

function undisabled() {
	var inputs = document.querySelectorAll('input[type=checkbox]');
	for(var i = 0; i < inputs.length; i++) {
		inputs[i].disabled = false;
	}

	console.log('done');
}

document.addEventListener("DOMContentLoaded", function(event) { 
    undisabled();
});
</script>
@DhrRob commented on GitHub (Apr 5, 2022): > If needed, you could sprinkle a little "Custom HTML Head Content" javascript to not have the disabled state for view. I made this script which you can add in the head content through the admin panel. Feel free to use. It disables the `disabled` state of the checkbox inputs. ```<script> function undisabled() { var inputs = document.querySelectorAll('input[type=checkbox]'); for(var i = 0; i < inputs.length; i++) { inputs[i].disabled = false; } console.log('done'); } document.addEventListener("DOMContentLoaded", function(event) { undisabled(); }); </script>
Author
Owner

@BloodyIron commented on GitHub (Nov 29, 2022):

If needed, you could sprinkle a little "Custom HTML Head Content" javascript to not have the disabled state for view.

I made this script which you can add in the head content through the admin panel. Feel free to use. It disables the disabled state of the checkbox inputs.

function undisabled() {
	var inputs = document.querySelectorAll('input[type=checkbox]');
	for(var i = 0; i < inputs.length; i++) {
		inputs[i].disabled = false;
	}

	console.log('done');
}

document.addEventListener("DOMContentLoaded", function(event) { 
    undisabled();
});
</script>

This works for me, except I needed to add "<script>" to the beginning as you forgot to put that XD

Also, take note this check-ing of the box is temporary to the page session. Refreshing and such undoes it. But still seems to help! Thanks! :D

@BloodyIron commented on GitHub (Nov 29, 2022): > > If needed, you could sprinkle a little "Custom HTML Head Content" javascript to not have the disabled state for view. > > I made this script which you can add in the head content through the admin panel. Feel free to use. It disables the `disabled` state of the checkbox inputs. > > ``` > function undisabled() { > var inputs = document.querySelectorAll('input[type=checkbox]'); > for(var i = 0; i < inputs.length; i++) { > inputs[i].disabled = false; > } > > console.log('done'); > } > > document.addEventListener("DOMContentLoaded", function(event) { > undisabled(); > }); > </script> > ``` This works for me, except I needed to add "<script>" to the beginning as you forgot to put that XD Also, take note this check-ing of the box is temporary to the page session. Refreshing and such undoes it. But still seems to help! Thanks! :D
Author
Owner

@CDubs00 commented on GitHub (Feb 25, 2023):

If needed, you could sprinkle a little "Custom HTML Head Content" javascript to not have the disabled state for view.

I made this script which you can add in the head content through the admin panel. Feel free to use. It disables the disabled state of the checkbox inputs.

function undisabled() {
	var inputs = document.querySelectorAll('input[type=checkbox]');
	for(var i = 0; i < inputs.length; i++) {
		inputs[i].disabled = false;
	}

	console.log('done');
}

document.addEventListener("DOMContentLoaded", function(event) { 
    undisabled();
});
</script>

This works for me, except I needed to add "<script>" to the beginning as you forgot to put that XD

Also, take note this check-ing of the box is temporary to the page session. Refreshing and such undoes it. But still seems to help! Thanks! :D

Anyway to make the checking of the box permanent in this view?

@CDubs00 commented on GitHub (Feb 25, 2023): > > > If needed, you could sprinkle a little "Custom HTML Head Content" javascript to not have the disabled state for view. > > > > > > I made this script which you can add in the head content through the admin panel. Feel free to use. It disables the `disabled` state of the checkbox inputs. > > ``` > > function undisabled() { > > var inputs = document.querySelectorAll('input[type=checkbox]'); > > for(var i = 0; i < inputs.length; i++) { > > inputs[i].disabled = false; > > } > > > > console.log('done'); > > } > > > > document.addEventListener("DOMContentLoaded", function(event) { > > undisabled(); > > }); > > </script> > > ``` > > This works for me, except I needed to add "<script>" to the beginning as you forgot to put that XD > > Also, take note this check-ing of the box is temporary to the page session. Refreshing and such undoes it. But still seems to help! Thanks! :D Anyway to make the checking of the box permanent in this view?
Author
Owner

@msizec commented on GitHub (Jul 31, 2024):

checkboxex for todo lists not implemented yet right ?

@msizec commented on GitHub (Jul 31, 2024): checkboxex for todo lists not implemented yet right ?
Author
Owner

@ssddanbrown commented on GitHub (Jul 31, 2024):

@msizec Todo lists with checkboxes were added in 2022 as mentioned above:

image

They're only checkable in editor mode (unless you apply additional customization).

@ssddanbrown commented on GitHub (Jul 31, 2024): @msizec Todo lists with checkboxes were added in 2022 as mentioned above: ![image](https://github.com/user-attachments/assets/396a5f72-4b3f-4eb6-b090-18b4c1ca0e20) They're only checkable in editor mode (unless you apply additional customization).
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/BookStack#4