zx-editor
Version:
ZxEditor is a HTML5 rich text editor
1 lines • 1.49 kB
JavaScript
require(["gitbook","lodash","jQuery"],function(a,i,s){var o,n={white:0,sepia:1,night:2},l={serif:0,sans:1};function f(){a.storage.set("fontState",o),d()}function c(t){t.preventDefault(),4<=o.size||(o.size++,f())}function r(t){t.preventDefault(),o.size<=0||(o.size--,f())}function m(t,e){e.preventDefault(),o.family=t,f()}function h(t,e){e.preventDefault();e=s(".book");0!==o.theme&&e.removeClass("color-theme-"+o.theme),o.theme=t,0!==o.theme&&e.addClass("color-theme-"+o.theme),f()}function d(){var t=a.state.$book;s(".font-settings .font-family-list li").removeClass("active"),s(".font-settings .font-family-list li:nth-child("+(o.family+1)+")").addClass("active"),t[0].className=t[0].className.replace(/\bfont-\S+/g,""),t.addClass("font-size-"+o.size),t.addClass("font-family-"+o.family),0!==o.theme&&(t[0].className=t[0].className.replace(/\bcolor-theme-\S+/g,""),t.addClass("color-theme-"+o.theme))}a.events.bind("start",function(t,e){e=e.fontsettings;a.toolbar.createButton({icon:"fa fa-font",label:"Font Settings",className:"font-settings",dropdown:[[{text:"A",className:"font-reduce",onClick:r},{text:"A",className:"font-enlarge",onClick:c}],[{text:"Serif",onClick:i.partial(m,0)},{text:"Sans",onClick:i.partial(m,1)}],[{text:"White",onClick:i.partial(h,0)},{text:"Sepia",onClick:i.partial(h,1)},{text:"Night",onClick:i.partial(h,2)}]]}),e=e,a.state.$book.find(".book-body"),o=a.storage.get("fontState",{size:e.size||2,family:l[e.family||"sans"],theme:n[e.theme||"white"]}),d()})});