Sfoglia il codice sorgente

use standalone build

Evan You 13 anni fa
parent
commit
d8644b827c

+ 5 - 14
Gruntfile.js

@@ -9,12 +9,14 @@ module.exports = function( grunt ) {
                 dev: true,
                 sourceUrls: true,
                 styles: false,
-                verbose: true
+                verbose: true,
+                standalone: true
             },
             build: {
                 output: './dist/',
                 name: 'seed',
-                styles: false
+                styles: false,
+                standalone: true
             }
         },
 
@@ -67,17 +69,7 @@ module.exports = function( grunt ) {
     grunt.loadNpmTasks( 'grunt-component-build' )
     grunt.loadNpmTasks( 'grunt-mocha' )
     grunt.registerTask( 'test', ['mocha'] )
-    grunt.registerTask( 'default', ['jshint', 'component_build:build', 'concat:dev'] )
-
-    grunt.registerTask( 'concat', function (version) {
-        var fs = require('fs'),
-            intro = fs.readFileSync('wrappers/intro.js'),
-            outro = fs.readFileSync('wrappers/outro.js', 'utf-8'),
-            main  = fs.readFileSync('dist/seed.js')
-        outro = new Buffer(outro.replace('{{version}}', "'" + version + "'"))
-        var all   = Buffer.concat([intro, main, outro])
-        fs.writeFileSync('dist/seed.js', all)
-    })
+    grunt.registerTask( 'default', ['jshint', 'component_build:build'] )
 
     grunt.registerTask( 'version', function (version) {
         var fs = require('fs')
@@ -93,7 +85,6 @@ module.exports = function( grunt ) {
         grunt.task.run([
             'jshint',
             'component_build:build',
-            'concat:' + version,
             //'test',
             'uglify',
             'version:' + version

+ 3 - 2
examples/nested-props.html

@@ -12,8 +12,9 @@
         <button sd-on="click:one">one</button>
         <button sd-on="click:two">two</button>
         <button sd-on="click:three">three</button>
+        <p><input sd-value="msg"></p>
         <script>
-            Seed.config({debug: true})
+            seed.config({debug: true})
             var data1 = {
                 c: 0,
                 b: {
@@ -26,7 +27,7 @@
                     c: 'one'
                 }
             }
-            var Demo = Seed.ViewModel.extend({
+            var Demo = seed.ViewModel.extend({
                 init: function () {
                     this.msg = 'Yoyoyo'
                     this.a = data1

+ 2 - 4
examples/nested-viewmodels.html

@@ -57,11 +57,9 @@
     </div>
 
     <script>
-        Seed.config({
-            debug: true
-        })
+        seed.config({ debug: true })
 
-        var Man = Seed.ViewModel.extend({
+        var Man = seed.ViewModel.extend({
             id: 'man',
             init: function () {
                 this.name = this.$el.dataset.name

+ 2 - 2
examples/simple.html

@@ -12,8 +12,8 @@
         <input type="checkbox" sd-checked="checked">
         <span sd-text="hello.msg | uppercase" sd-class="red:checked"></span>
         <script>
-            Seed.config({ debug: true })
-            var demo = new Seed.ViewModel({
+            seed.config({ debug: true })
+            var demo = new seed.ViewModel({
                 el: 'body'
             })
             demo.hello = {

+ 1 - 1
examples/template.html

@@ -10,7 +10,7 @@
             <p>{{hi}}!</p>
         </div>
         <script>
-            var Test = Seed.ViewModel.extend({
+            var Test = seed.ViewModel.extend({
                 template: 'todo',
                 init: function (msg) {
                     this.hi = msg

+ 7 - 4
src/compiler.js

@@ -220,10 +220,13 @@ CompilerProto.createBinding = function (key) {
     if (binding.root) {
         // this is a root level binding. we need to define getter/setters for it.
         this.define(baseKey, binding)
-    } else if (!this.bindings[baseKey]) {
-        // this is a nested value binding, but the binding for its root
-        // has not been created yet. We better create that one too.
-        this.createBinding(baseKey)
+    } else {
+        // TODO create placeholder objects
+        if (!this.bindings[baseKey]) {
+            // this is a nested value binding, but the binding for its root
+            // has not been created yet. We better create that one too.
+            this.createBinding(baseKey)
+        }
     }
 
     return binding

+ 2 - 2
src/observe.js

@@ -44,9 +44,9 @@ methods.forEach(function (method) {
 function observe (obj, path, observer) {
     if (isWatchable(obj)) {
         path = path + '.'
-        var alreadyConverted = !!obj.__observer__
+        var ob, alreadyConverted = !!obj.__observer__
         if (!alreadyConverted) {
-            var ob = new Emitter()
+            ob = new Emitter()
             defProtected(obj, '__observer__', ob)
         }
         obj.__observer__

+ 1 - 2
src/viewmodel.js

@@ -1,5 +1,4 @@
-var utils    = require('./utils'),
-    Compiler = require('./compiler')
+var Compiler = require('./compiler')
 
 /*
  *  ViewModel exposed to the user that holds data,