X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/e64e37a2fbe6d64b2513133d34370f0d1a63f7b9..5b89eff5afcb92f0e7b20daf62eae30aeb7b4e1c:/modules/documentToolbar/documentToolbar.js?ds=inline diff --git a/modules/documentToolbar/documentToolbar.js b/modules/documentToolbar/documentToolbar.js index c459428..e3bc1eb 100644 --- a/modules/documentToolbar/documentToolbar.js +++ b/modules/documentToolbar/documentToolbar.js @@ -1,63 +1,56 @@ -define(['libs/jquery-1.9.1.min', 'libs/underscore-min', 'libs/text!./template.html'], function($, _, template) { - -'use strict'; - -return function(sandbox) { - - var view = { - node: $(_.template(template)()), - setup: function() { - var view = this; - - this.node.find('button').click(function(e) { - e.stopPropagation(); - var btn = $(e.currentTarget); - if(btn.attr('data-btn-type') === 'toggle') { - btn.toggleClass('active') - var event; - var btnId = btn.attr('data-btn'); - if(btnId === 'grid') - event = 'toggleGrid'; - if(btnId === 'tags') - event = 'toggleTags'; - sandbox.publish(event, 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]; - } - if(window.getSelection().isCollapsed) { - //view.insertNewNode(wlxmlTag, wlxmlClass); - } - else { - //this.wrapWithNodeRequest(wlxmlTag, wlxmlClass); - } - sandbox.publish('newNodeRequested', wlxmlTag, wlxmlClass); - } else { - sandbox.publish('command', btn.attr('data-btn'), btn.attr('data-meta')); - } - } - }); - }, - getOption: function(option) { - return this.node.find('.rng-module-documentToolbar-toolbarOption[data-option=' + option +']').val(); - } - } - - view.setup(); - - return { - start: function() { sandbox.publish('ready'); }, - getView: function() { return view.node; }, - getOption: function(option) { return view.getOption(option); } - } -} - +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)({tagNames: wlxmlUtils.wlxmlTagNames, classNames: wlxmlUtils.wlxmlClassNames})), + setup: function() { + var view = this; + + this.node.find('button').click(function(e) { + e.stopPropagation(); + 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'); + params.toggle = btn.hasClass('active'); + } + + 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) { + return this.node.find('.rng-module-documentToolbar-toolbarOption[data-option=' + option +']').val(); + } + }; + + view.setup(); + + return { + start: function() { sandbox.publish('ready'); }, + getView: function() { return view.node; }, + getOption: function(option) { return view.getOption(option); } + }; +}; + }); \ No newline at end of file