X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/6ec6461eaba0dfa50a065dac18eb7cc6455cb827..70b1b491ce0fcdf036c97e381b8fc6867e06b3c2:/modules/documentToolbar/documentToolbar.js?ds=sidebyside diff --git a/modules/documentToolbar/documentToolbar.js b/modules/documentToolbar/documentToolbar.js index 0e17fa3..e3bc1eb 100644 --- a/modules/documentToolbar/documentToolbar.js +++ b/modules/documentToolbar/documentToolbar.js @@ -1,45 +1,42 @@ -define(['libs/jquery-1.9.1.min', 'libs/underscore-min', 'libs/text!./template.html'], function($, _, template) { +define(['libs/jquery-1.9.1.min', 'libs/underscore-min', 'utils/wlxml', 'libs/text!./template.html'], function($, _, wlxmlUtils, template) { 'use strict'; return function(sandbox) { var view = { - node: $(_.template(template)()), + node: $(_.template(template)({tagNames: wlxmlUtils.wlxmlTagNames, classNames: wlxmlUtils.wlxmlClassNames})), setup: function() { var view = this; this.node.find('button').click(function(e) { e.stopPropagation(); - var btn = $(e.currentTarget); + var btn = $(e.currentTarget), + btnName = btn.attr('data-name'), + meta = btn.attr('data-meta'), + params = {}, + command = btnName; + if(btn.attr('data-btn-type') === 'toggle') { + command = 'toggle-' + command; btn.toggleClass('active'); - var event; - var btnId = btn.attr('data-btn'); - if(btnId === 'grid') - event = 'toggleGrid'; - if(btnId === 'tags') - event = 'toggleTags'; - if(btnId === 'list') - event = 'toggleList' - sandbox.publish(event, btn.hasClass('active')); + params.toggle = btn.hasClass('active'); } - if(btn.attr('data-btn-type') === 'cmd') { - var command = btn.attr('data-btn'); - var meta = btn.attr('data-meta'); - if(command === 'new-node') { - var wlxmlTag = view.getOption('newTag-tag'); - var wlxmlClass = view.getOption('newTag-class'); - if(meta) { - var split = meta.split('/'); - wlxmlTag = split[0]; - wlxmlClass = split[1]; - } - sandbox.publish('newNodeRequested', wlxmlTag, wlxmlClass); - } else { - sandbox.publish('command', btn.attr('data-btn'), btn.attr('data-meta')); + + if(btnName === 'new-node') { + command = 'newNodeRequested'; + params.wlxmlTag = view.getOption('newTag-tag'); + params.wlxmlClass = view.getOption('newTag-class'); + if(meta) { + var split = meta.split('/'); + params.wlxmlTag = split[0]; + params.wlxmlClass = split[1]; } + } else { + params.meta = meta; } + + sandbox.publish('command', command, params); }); }, getOption: function(option) {