muu

DEPRECATED lightweight JS framework
git clone https://git.ce9e.org/muu.git

commit
9d97f45567bab648d2e23745c7abf0dd6ec7ad5c
parent
c5c0dec0a8433d9429bc8e1f28967d18c409f383
Author
Tobias Bengfort <tobias.bengfort@gmx.net>
Date
2015-09-08 17:56
allow to configure custom updateDOM in registry

Diffstat

M src/muu-directive.js 4 ++--
M src/muu-registry.js 5 ++++-
M test/test-directive.js 5 +++--

3 files changed, 9 insertions, 5 deletions


diff --git a/src/muu-directive.js b/src/muu-directive.js

@@ -3,7 +3,7 @@
    3     3  * @module muu-directive
    4     4  * @ignore
    5     5  */
    6    -1 define('muu-directive', ['muu-dom-helpers', 'muu-js-helpers', 'muu-update-dom'], function($, _, updateDOM) {
   -1     6 define('muu-directive', ['muu-dom-helpers', 'muu-js-helpers'], function($, _) {
    7     7     "use strict";
    8     8 
    9     9     /**
@@ -57,7 +57,7 @@ define('muu-directive', ['muu-dom-helpers', 'muu-js-helpers', 'muu-update-dom'],
   57    57          * @see The templating system can be defined in the {@link Registry}.
   58    58          */
   59    59         this.update = function(data) {
   60    -1             updateDOM(root, registry.renderer(template, data));
   -1    60             registry.updateDOM(root, registry.renderer(template, data));
   61    61 
   62    62             _.forEach(['keydown', 'keyup', 'click', 'change', 'search'], function(eventType) {
   63    63                 var selector = '[data-on' + eventType + ']';

diff --git a/src/muu-registry.js b/src/muu-registry.js

@@ -3,7 +3,7 @@
    3     3  * @module muu-registry
    4     4  * @ignore
    5     5  */
    6    -1 define('muu-registry', ['muu-template', 'muu-directive', 'muu-js-helpers', 'muu-dom-helpers'], function(muuTemplate, Directive, _, $) {
   -1     6 define('muu-registry', ['muu-template', 'muu-update-dom', 'muu-directive', 'muu-js-helpers', 'muu-dom-helpers'], function(muuTemplate, muuUpdateDOM, Directive, _, $) {
    7     7     "use strict";
    8     8 
    9     9     /**
@@ -15,6 +15,8 @@ define('muu-registry', ['muu-template', 'muu-directive', 'muu-js-helpers', 'muu-
   15    15      *   `element.directive`.
   16    16      * - **renderer** - `{function(string, Object): string}` - The template
   17    17      *   renderer to be used. Defaults to {@link module:muu-template}.
   -1    18      * - **updateDOM** - `{function(Node, string)}` - The DOM updater to be
   -1    19      *   used. Defaults to {@link module:muu-update-dom}.
   18    20      */
   19    21     var Registry = function(config) {
   20    22         var self = this;
@@ -22,6 +24,7 @@ define('muu-registry', ['muu-template', 'muu-directive', 'muu-js-helpers', 'muu-
   22    24 
   23    25         this.config = config || {};
   24    26         this.renderer = self.config.renderer || muuTemplate;
   -1    27         this.updateDOM = self.config.updateDOM || muuUpdateDOM
   25    28 
   26    29         /**
   27    30          * Register a new type of {@link Directive}

diff --git a/test/test-directive.js b/test/test-directive.js

@@ -1,5 +1,5 @@
    1     1 /* global define, describe, it, expect, beforeEach, sinon */
    2    -1 define(['muu-directive', 'muu-js-helpers', 'muu-dom-helpers'], function(Directive, _, $) {
   -1     2 define(['muu-directive', 'muu-update-dom', 'muu-js-helpers', 'muu-dom-helpers'], function(Directive, updateDOM, _, $) {
    3     3     "use strict";
    4     4 
    5     5     describe('muuDirective', function() {
@@ -10,7 +10,8 @@ define(['muu-directive', 'muu-js-helpers', 'muu-dom-helpers'], function(Directiv
   10    10                 linkAll: sinon.spy(),
   11    11                 renderer: sinon.spy(function(template) {
   12    12                     return template;
   13    -1                 })
   -1    13                 }),
   -1    14                 updateDOM: updateDOM
   14    15             };
   15    16         });
   16    17