Release
This commit is contained in:
134
client/core/controls/controls.bt.js
Normal file
134
client/core/controls/controls.bt.js
Normal file
@@ -0,0 +1,134 @@
|
||||
module.exports = function (bt) {
|
||||
bt.setDefaultView('controls', 'default');
|
||||
|
||||
bt.match('controls*', function (ctx) {
|
||||
var content = [];
|
||||
ctx.enableAutoInit();
|
||||
|
||||
var arrows = ctx.getParam('arrows') || false;
|
||||
var zoom = ctx.getParam('zoom') || false;
|
||||
var footnotes = ctx.getParam('footnotes') || false;
|
||||
var pages = ctx.getParam('pages') || false;
|
||||
|
||||
ctx.setInitOption('zoom', zoom);
|
||||
ctx.setInitOption('footnotes', footnotes);
|
||||
ctx.setInitOption('pages', pages);
|
||||
ctx.setState('hidden');
|
||||
|
||||
if (arrows) {
|
||||
ctx.setInitOption('arrows', arrows);
|
||||
|
||||
content.push([
|
||||
{
|
||||
elem: 'arrow-left',
|
||||
disabled: true
|
||||
},
|
||||
{
|
||||
elem: 'arrow-right'
|
||||
}
|
||||
]);
|
||||
}
|
||||
|
||||
if (zoom || footnotes || pages) {
|
||||
|
||||
content.push({
|
||||
elem: 'menu',
|
||||
zoom: zoom,
|
||||
footnotes: footnotes,
|
||||
pages: pages
|
||||
});
|
||||
}
|
||||
|
||||
ctx.setContent(content);
|
||||
});
|
||||
|
||||
bt.match('controls*__menu', function (ctx) {
|
||||
ctx.setState('state', 'closed');
|
||||
|
||||
ctx.setContent([
|
||||
{
|
||||
elem: 'trigger'
|
||||
},
|
||||
{
|
||||
elem: 'buttons',
|
||||
zoom: ctx.getParam('zoom'),
|
||||
footnotes: ctx.getParam('footnotes'),
|
||||
pages: ctx.getParam('pages')
|
||||
}
|
||||
]);
|
||||
});
|
||||
|
||||
bt.match(['controls*__arrow-left', 'controls*__arrow-right'], function (ctx) {
|
||||
if (ctx.getParam('disabled')) {
|
||||
ctx.setState('disabled');
|
||||
}
|
||||
ctx.setContent({
|
||||
elem: 'arrow-inner'
|
||||
});
|
||||
});
|
||||
|
||||
bt.match('controls*__buttons', function (ctx) {
|
||||
var content = [];
|
||||
var baseHeight = 42;
|
||||
var items = 0;
|
||||
|
||||
if (ctx.getParam('zoom')) {
|
||||
items += 2;
|
||||
|
||||
content.push({
|
||||
elem: 'plus'
|
||||
}, {
|
||||
elem: 'minus'
|
||||
});
|
||||
}
|
||||
if (ctx.getParam('footnotes')) {
|
||||
items += 1;
|
||||
|
||||
content.push({
|
||||
elem: 'footnotes',
|
||||
footnotes: ctx.getParam('footnotes')
|
||||
});
|
||||
}
|
||||
|
||||
if (ctx.getParam('pages')) {
|
||||
items += 1;
|
||||
|
||||
content.push({
|
||||
elem: 'pages',
|
||||
pages: ctx.getParam('pages')
|
||||
});
|
||||
}
|
||||
|
||||
ctx.setAttr('style', 'height: ' + baseHeight * items + 'px');
|
||||
|
||||
ctx.setContent(content);
|
||||
});
|
||||
|
||||
bt.match('controls*__footnotes', function (ctx) {
|
||||
ctx.setState('mode', ctx.getParam('footnotes') || 'appendix');
|
||||
ctx.setContent([{
|
||||
elem: 'footnotes-anchor'
|
||||
}, {
|
||||
elem: 'footnotes-footnote'
|
||||
}
|
||||
]);
|
||||
});
|
||||
bt.match('controls*__footnotes-anchor', function (ctx) {
|
||||
ctx.setTag('span');
|
||||
ctx.setContent('x');
|
||||
});
|
||||
bt.match('controls*__footnotes-footnote', function (ctx) {
|
||||
ctx.setTag('span');
|
||||
ctx.setContent('[x]');
|
||||
});
|
||||
|
||||
bt.match('controls*__pages', function (ctx) {
|
||||
ctx.setState('mode', ctx.getParam('pages') || 'auto');
|
||||
ctx.setContent([{
|
||||
elem: 'pages-one'
|
||||
}, {
|
||||
elem: 'pages-two'
|
||||
}
|
||||
]);
|
||||
});
|
||||
};
|
||||
Reference in New Issue
Block a user