vuejs-rails 0.8.1 → 0.8.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/vuejs-rails/version.rb +1 -1
- data/vendor/assets/javascripts/vue.js +55 -17
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 28bd71a304c22e7e2e6466921562f6c46a44e8a4
|
4
|
+
data.tar.gz: 8270299c0d645a4dd8c534119eeba196753446a0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 07dc3ce596f42017a4be1c1ee39be4ee4e535486dbd14f1f995b7559bfdbeab9aa5849fb82e00746eced522f627a251b7e1235ffa7b8d250fa6a35c227a61f3f
|
7
|
+
data.tar.gz: 158c17e9e8f048a76b4d63b25906ac9cef0bdc1cf566999332cfaf43966c7613436cd9af0aaaf9d2fc6f22293c531081a3300c778b1aa04e5ce0e4af7b7b9834
|
data/lib/vuejs-rails/version.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/*
|
2
|
-
|
2
|
+
Vue.js v0.8.2
|
3
3
|
(c) 2014 Evan You
|
4
4
|
License: MIT
|
5
5
|
*/
|
@@ -843,6 +843,7 @@ function Compiler (vm, options) {
|
|
843
843
|
compiler.vm = vm
|
844
844
|
compiler.bindings = makeHash()
|
845
845
|
compiler.dirs = []
|
846
|
+
compiler.deferred = []
|
846
847
|
compiler.exps = []
|
847
848
|
compiler.computed = []
|
848
849
|
compiler.childCompilers = []
|
@@ -915,11 +916,14 @@ function Compiler (vm, options) {
|
|
915
916
|
// and bind the parsed directives
|
916
917
|
compiler.compile(el, true)
|
917
918
|
|
918
|
-
//
|
919
|
-
|
920
|
-
|
919
|
+
// bind deferred directives (child components)
|
920
|
+
for (var i = 0, l = compiler.deferred.length; i < l; i++) {
|
921
|
+
compiler.bindDirective(compiler.deferred[i])
|
921
922
|
}
|
922
923
|
|
924
|
+
// extract dependencies for computed properties
|
925
|
+
compiler.parseDeps()
|
926
|
+
|
923
927
|
// done!
|
924
928
|
compiler.init = false
|
925
929
|
|
@@ -1045,7 +1049,10 @@ CompilerProto.compile = function (node, root) {
|
|
1045
1049
|
directive = Directive.parse('repeat', repeatExp, compiler, node)
|
1046
1050
|
if (directive) {
|
1047
1051
|
directive.Ctor = componentCtor
|
1048
|
-
|
1052
|
+
// defer child component compilation
|
1053
|
+
// so by the time they are compiled, the parent
|
1054
|
+
// would have collected all bindings
|
1055
|
+
compiler.deferred.push(directive)
|
1049
1056
|
}
|
1050
1057
|
|
1051
1058
|
// v-with has 2nd highest priority
|
@@ -1054,7 +1061,7 @@ CompilerProto.compile = function (node, root) {
|
|
1054
1061
|
directive = Directive.parse('with', withKey || '', compiler, node)
|
1055
1062
|
if (directive) {
|
1056
1063
|
directive.Ctor = componentCtor
|
1057
|
-
compiler.
|
1064
|
+
compiler.deferred.push(directive)
|
1058
1065
|
}
|
1059
1066
|
|
1060
1067
|
} else {
|
@@ -1389,6 +1396,14 @@ CompilerProto.hasKey = function (key) {
|
|
1389
1396
|
hasOwn.call(this.vm, baseKey)
|
1390
1397
|
}
|
1391
1398
|
|
1399
|
+
/**
|
1400
|
+
* Collect dependencies for computed properties
|
1401
|
+
*/
|
1402
|
+
CompilerProto.parseDeps = function () {
|
1403
|
+
if (!this.computed.length) return
|
1404
|
+
DepsParser.parse(this.computed)
|
1405
|
+
}
|
1406
|
+
|
1392
1407
|
/**
|
1393
1408
|
* Unbind and remove element
|
1394
1409
|
*/
|
@@ -2476,6 +2491,7 @@ function catchDeps (binding) {
|
|
2476
2491
|
if (binding.isFn) return
|
2477
2492
|
utils.log('\n- ' + binding.key)
|
2478
2493
|
var got = utils.hash()
|
2494
|
+
binding.deps = []
|
2479
2495
|
catcher.on('get', function (dep) {
|
2480
2496
|
var has = got[dep.key]
|
2481
2497
|
if (has && has.compiler === dep.compiler) return
|
@@ -2501,7 +2517,8 @@ module.exports = {
|
|
2501
2517
|
parse: function (bindings) {
|
2502
2518
|
utils.log('\nparsing dependencies...')
|
2503
2519
|
Observer.shouldGet = true
|
2504
|
-
bindings.
|
2520
|
+
var i = bindings.length
|
2521
|
+
while (i--) { catchDeps(bindings[i]) }
|
2505
2522
|
Observer.shouldGet = false
|
2506
2523
|
utils.log('\ndone.')
|
2507
2524
|
}
|
@@ -3009,38 +3026,59 @@ module.exports = {
|
|
3009
3026
|
if (method !== 'push' && method !== 'pop') {
|
3010
3027
|
self.updateIndexes()
|
3011
3028
|
}
|
3029
|
+
if (method === 'push' || method === 'unshift' || method === 'splice') {
|
3030
|
+
self.changed()
|
3031
|
+
}
|
3012
3032
|
}
|
3013
3033
|
|
3014
3034
|
},
|
3015
3035
|
|
3016
|
-
update: function (collection) {
|
3036
|
+
update: function (collection, init) {
|
3017
3037
|
|
3018
|
-
this
|
3038
|
+
var self = this
|
3039
|
+
self.unbind(true)
|
3019
3040
|
// attach an object to container to hold handlers
|
3020
|
-
|
3041
|
+
self.container.vue_dHandlers = utils.hash()
|
3021
3042
|
// if initiating with an empty collection, we need to
|
3022
3043
|
// force a compile so that we get all the bindings for
|
3023
3044
|
// dependency extraction.
|
3024
|
-
if (!
|
3025
|
-
|
3026
|
-
|
3045
|
+
if (!self.initiated && (!collection || !collection.length)) {
|
3046
|
+
self.buildItem()
|
3047
|
+
self.initiated = true
|
3027
3048
|
}
|
3028
|
-
collection =
|
3029
|
-
|
3049
|
+
collection = self.collection = collection || []
|
3050
|
+
self.vms = []
|
3030
3051
|
|
3031
3052
|
// listen for collection mutation events
|
3032
3053
|
// the collection has been augmented during Binding.set()
|
3033
3054
|
if (!collection.__observer__) Observer.watchArray(collection, null, new Emitter())
|
3034
|
-
collection.__observer__.on('mutate',
|
3055
|
+
collection.__observer__.on('mutate', self.mutationListener)
|
3035
3056
|
|
3036
3057
|
// create child-vms and append to DOM
|
3037
3058
|
if (collection.length) {
|
3038
3059
|
for (var i = 0, l = collection.length; i < l; i++) {
|
3039
|
-
|
3060
|
+
self.buildItem(collection[i], i)
|
3040
3061
|
}
|
3062
|
+
if (!init) self.changed()
|
3041
3063
|
}
|
3042
3064
|
},
|
3043
3065
|
|
3066
|
+
/**
|
3067
|
+
* Notify parent compiler that new items
|
3068
|
+
* have been added to the collection, it needs
|
3069
|
+
* to re-calculate computed property dependencies.
|
3070
|
+
* Batched to ensure it's called only once every event loop.
|
3071
|
+
*/
|
3072
|
+
changed: function () {
|
3073
|
+
var self = this
|
3074
|
+
if (self.queued) return
|
3075
|
+
self.queued = true
|
3076
|
+
setTimeout(function () {
|
3077
|
+
self.compiler.parseDeps()
|
3078
|
+
self.queued = false
|
3079
|
+
}, 0)
|
3080
|
+
},
|
3081
|
+
|
3044
3082
|
/**
|
3045
3083
|
* Create a new child VM from a data object
|
3046
3084
|
* passing along compiler options indicating this
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vuejs-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.
|
4
|
+
version: 0.8.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adam Butler
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-02-
|
11
|
+
date: 2014-02-04 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: A simple asset-pipeline wrapper for vue.js by Evan You
|
14
14
|
email:
|