Commit Graph

1093 Commits

Author SHA1 Message Date
Evan You 5db86b4e94 fix(ssr): ensure hydrated class & style bindings are reactive
fix #7063
2017-11-16 11:19:52 -05:00
Evan You 6b799190a5 test: add test case for #6687 + fix lingering comment node 2017-11-16 10:09:15 -05:00
Evan You 13196b25b8 fix: clone slot nodes for render fn usage as well
fix #7041
2017-11-13 21:43:20 -05:00
Evan You df82aeb0bf fix: should warn unknown components during hydration
fix #6998
2017-11-13 15:52:01 -05:00
Evan You daed1e7355 fix: normlaize @click.right and @click.middle
fix #7020
2017-11-13 12:55:56 -05:00
Evan You 9463ac8746 test: fix weex tests 2017-11-07 17:25:55 -05:00
Evan You f0a66c5817 refactor: cache v-once and purely static trees separately 2017-11-07 17:10:54 -05:00
Evan You 5a9da95b8a fix(slots): properly handle nested named slot passing
fix #6996
2017-11-03 16:45:54 -04:00
Evan You e1657fd7ce fix(ssr): properly render <select v-model> initial state
fix #6986
2017-11-03 15:30:47 -04:00
Evan You 79c0d7bcfb fix(ssr): properly render textarea value
partial fix for #6986
2017-11-02 23:04:31 -04:00
laoxiong 58a39dfa0e fix(model): correctly set select v-model initial value on patch (#6910) 2017-11-02 22:03:19 -04:00
Soo Jae Hwang 0c703e34d1 fix(v-model): v-if / v-else not working with :type + v-model (#6955)
fix #6918
2017-11-02 17:09:46 -04:00
Mads K c24f3e4208 fix(events): properly $off array of events (#6949) 2017-11-02 16:58:21 -04:00
Evan You f2e00f756f fix: special case for static muted attribute in firefox
fix #6887
2017-11-02 16:55:05 -04:00
Hanks 232dd85f85 test(weex): support testing the virtual dom generated form *.vue files (#6944)
Compile the *.vue file into js code, then run it in Weex context, and
compare the generate virtual dom.
It’s a black-box testing for `weex-template-compiler`,
`weex-styler`,`weex-vue-framework` and `weex-js-runtime`.
2017-10-30 20:29:16 -04:00
Hanks 8a784d8d23 fix(weex): stop trim css units in richtext component (#6927)
+ Remove the `trimCSSUnit` method.
+ Modify the test cases to support css units.
+ Add flow type annotations.
2017-10-30 20:28:54 -04:00
Evan You 4ad9a56b22 fix(ssr): should not optimize root if conditions
fix #6907
2017-10-26 18:43:57 +02:00
Evan You 1cf02efda2 fix: also clone component slot children during deepClone
fix #6891, fix #6915
2017-10-26 18:00:19 +02:00
Evan You 83ed92608d fix: $set should respect properties on prototype chain
fix #6845
2017-10-26 13:53:46 +02:00
JK b6c384dd78 fix(core): static trees should be cached on options (#6826) (#6837)
* test(once): failing test for #6826

* fix(core): static trees should be cached on options (#6826)
2017-10-18 06:26:55 +02:00
Evan You 4e0c48511d fix: further adjust nextTick strategy
fix #6813
2017-10-13 15:37:52 -04:00
Evan You 08a7fb539f fix: v-on="object" listeners should fire after high-priority ones
fix #6805
2017-10-13 09:59:23 -04:00
Evan You 5665eaf985 fix: backwards compat with checkbox code generated in < 2.5
fix #6803
2017-10-13 09:42:53 -04:00
Eduardo San Martin Morote 15031b8542 fix(v-model): allow arbitrary naems for type binding (#6802)
Fix #6800
2017-10-13 08:55:02 -04:00
Evan You 1f84dd1c24 fix: fix empty array edge case in normalizeChildren
fix #6790
2017-10-13 01:09:25 -04:00
Evan You df8f179cfc test: make hydration spec more stable for Edge 2017-10-12 20:41:36 -04:00
Evan You a85f95c422 test: use phantom for dev 2017-10-12 20:41:07 -04:00
Evan You e38d006752 feat: improve template expression error message
close #6771
2017-10-12 11:15:23 -04:00
Evan You b7105ae8c9 refactor: improve option type check warnings 2017-10-12 10:57:02 -04:00
Evan You 9f576aac7d test: add test for ignoredElements 2017-10-12 09:54:17 -04:00
Evan You 421658884f fix: fix scoped CSS for nested nodes in functional components 2017-10-11 11:17:46 -04:00
Evan You 050bb33f9b feat: scoped CSS support for functional components 2017-10-11 10:38:46 -04:00
Evan You ea0d227d2d feat: functional component support for compiled templates 2017-10-10 22:33:16 -04:00
Evan You 68bdbf508b fix: perperly handle v-if on <template> scoped slot
fix #6725
2017-10-10 12:21:49 -04:00
Evan You dff85b230a fix(ssr): handle inline template compilation error
fix #6766
2017-10-10 10:47:41 -04:00
wenlu.wang 3a5432a9e3 feat(core): call data method with this value (#6760)
#6739
2017-10-10 09:39:30 -04:00
Evan You 62405aa903 revert: fix(v-model): fix input listener with modifier blocking v-model update
This reverts commit 6f312d636c because the change
is no longer needed after switching nextTick to use MessageChannel.
2017-10-09 16:31:23 -04:00
Evan You 37533fd71e refactor: improve errorCaptured propagation behavior 2017-10-09 09:51:54 -04:00
Evan You f3fe012d54 feat(v-model): support dynamic input type binding 2017-10-07 23:18:11 -04:00
Evan You 6893499744 feat: rename inject alias from "name" to "from" 2017-10-06 17:25:33 -04:00
Evan You 6dac3dbe44 feat: rename catchError -> errorCaptured 2017-10-06 17:25:33 -04:00
Dominik Rabij 514b90b647 fix: add slot v-bind warning (#6736)
close #6677
2017-10-06 15:48:00 -04:00
Evan You 7bc899ce0e feat(ssr): add shouldPrefetch option
close #5964
2017-10-05 23:08:09 -04:00
Evan You f881dd175a feat(ssr): renderToString return Promise
close #6160
2017-10-05 22:42:56 -04:00
Evan You 2cba6d4cb1 feat: add max prop for <keep-alive> 2017-10-05 22:01:50 -04:00
Evan You 3c65239ad4 test: improve inject default test case 2017-10-05 15:56:36 -04:00
Popescu Dan 88423fc66a feat(inject): support providing default values for injections (#6322) 2017-10-05 15:44:32 -04:00
Evan You b3cd9bc394 feat: add catchError option
also propagate error thrown in renderError() to global handler
2017-10-05 14:59:38 -04:00
Evan You 6e41679a96 fix: use MessageChannel for nextTick
fix #6566, #6690
2017-10-05 00:52:47 -04:00
Evan You aa1356e83d test: e2e tests for basic renderer 2017-10-04 18:15:45 -04:00
Evan You 8295f71665 fix: warn slot-scope when used as a prop 2017-10-04 17:31:58 -04:00
Evan You dae173d96d feat: support denoting normal elements as scoped slot
also deprecate "scope" in favor of "slot-scope"
2017-10-04 17:25:39 -04:00
Evan You 4987eeb3a7 feat: v-on automatic key inference 2017-10-04 14:59:59 -04:00
Nick Messing 9734e878ec feat: add .exact event modifier (#5977)
Allow limiting the event to the exact system modifiers specified.
close #5976
2017-10-04 12:37:00 -04:00
Evan You e1da0d585c feat(v-model): craete non-existent properties as reactive
close #5932
2017-10-03 23:30:35 -04:00
Evan You 2b5c83af6d fix: handle errors in errorHandler
close #6714
2017-10-03 18:23:43 -04:00
AchillesJ 6ad44e13e9 fix(ref): preserve ref on components after removing root element (#6718)
fix #6632, #6641
2017-10-03 18:04:23 -04:00
Chris Casola baabd6d140 fix(compiler): warn when inline-template component has no children (fix #6703) (#6715) 2017-10-03 18:00:52 -04:00
Evan You cf1ff5b0dc fix: use correct ns inside <foreignObject> as root node
fix #6642
2017-10-02 17:35:47 -04:00
Hanks 2deda3d432 refactor(weex): Adjust the weex platform entry file to fit the new weex runtime (#6620)
* trim trailing whitespace

* revert(weex): remove the new Function hack for V8, as Weex uses JSC now

Remove the `callFunctionNative` method and `compileBundle`, which is provided by modified V8. In
order to maintain the consistency of the js engine, Weex also use JSC on Android. The legacy hack
for V8 engine should be removed.

* refactor(weex): move module and component apis to weex runtime

Modules and components should be registered in weex runtime, not the specific framework. The
`registerModules`, `registerComponents`, `weex.supports` and `weex.requireModule` api is moved to
weex runtime, which is in the "apache/incubator-weex" repo.

* test(weex): refactor the test cases to fit the new weex-js-runtime

* fix(weex): use document instead of renderer to create Element
2017-09-18 15:38:27 -04:00
Evan You b080a14138 fix(ssr): fix hydration mismatch with adjacent text node from slots
fix vuejs/vue-loader#974
2017-09-14 12:25:22 -04:00
Evan You 0c9534ff00 fix(ssr): fix bundleRenderer Promise rejection regression 2017-09-14 09:50:33 -04:00
Elevista 3ee62fd59e fix(inject): exclude not enumerable keys of inject object (#6346)
close #6574
2017-09-13 01:05:11 -04:00
Evan You 09106f066a fix(ssr): handle v-text/v-html with non-string value
fix #6572
2017-09-12 23:23:24 -04:00
Evan You 684cd7d21a fix: preserve slot attribute if not resolved by Vue
close #6553
2017-09-12 21:45:44 -04:00
Evan You 6f312d636c fix(v-model): fix input listener with modifier blocking v-model update
fix #6552
2017-09-12 19:29:34 -04:00
Josh Soref f477ecdbbb chore: spelling (#6535) 2017-09-07 07:33:09 -04:00
Evan You 0f00f8fc2b fix(ssr): better handle v-html hydration
fix #6519
2017-09-06 21:24:51 -05:00
AchillesJ 679cd1fef4 fix: support prop type checking for primitive wrapper objects (#6450)
close #6447
2017-09-05 16:23:53 -04:00
JK 3c216755f6 fix(provide): provide should default to parentVal during merging (#6473)
fix #6436
2017-09-05 16:01:50 -04:00
AchillesJ 89f0d29f2d fix: inherit SVG ns on component root node (#6511)
fix #6506
2017-09-05 15:12:35 -04:00
Evan You 538ad20d8a fix(directive): should invoke unbind & inserted on inner component root element change
fix #6513
2017-09-05 12:59:57 -04:00
Evan You a744497534 fix: ensure outer bindings on nested HOC are properly re-applied on inner root element change 2017-09-05 12:59:57 -04:00
Evan You 230c6ae782 fix(vdom): avoid diff de-opt when both head/tail are different
fix #6502
2017-09-04 12:51:11 -04:00
Nick Messing f76d16ed95 fix(vdom): Don't replace input for text-like type change (#6344)
fix #6313
2017-09-01 18:49:39 -04:00
Evan You 8fc6bc8827 chore: warn methods that conflict with internals
close #6312
2017-09-01 18:34:10 -04:00
Nick Messing d6e6f1deb1 fix(v-model): Allow using array value with array v-model in checkboxes (#6220)
fix #6219
2017-09-01 17:35:41 -04:00
Evan You 06741f3266 fix: computed properties should not be cached during SSR
ref: vuejs/vuex#877
2017-09-01 12:51:29 -04:00
Evan You db1d047499 chore: remove unnecessary log in tests 2017-09-01 12:19:58 -04:00
Evan You 321866a47d test: use headless chrome for dev 2017-08-30 16:43:16 +02:00
Evan You 986a669e8f chore: trim trailing whitespace 2017-08-30 16:42:30 +02:00
Evan You 0529040c17 fix: deep clone slot vnodes on re-render
fix #6372
2017-08-30 00:47:10 +02:00
Evan You 172dbf9faf fix(ssr): should also escape static text content
fix #6345
2017-08-29 23:32:28 +02:00
赵鑫晖 59dbd4a414 fix: ensure $attrs and $listeners are always objects (#6441)
fix #6263
2017-08-29 22:59:39 +02:00
JK a43d66743b fix(transition): consider async placeholder as valid child to return (#6369)
fix #6256
2017-08-29 22:09:20 +02:00
JK d4d553ced7 fix(v-model): avoid unnecessary change event on select options change
fix #6193
via #6194
2017-08-29 18:59:54 +02:00
Evan You 5091e2c984 fix(ssr): address possible xss vector 2017-08-29 16:42:54 +02:00
Hanks a8146c0c10 feat(weex): remove __weex_require_module__ api 2017-08-29 16:35:39 +02:00
Hanks 9bded22a83 test(weex richtext): rename the file path of richtext test 2017-08-29 16:35:09 +02:00
Hanks 3e4d926336 feat(weex richtext): treat richtext as runtime components 2017-08-29 16:35:09 +02:00
Hanks d627161a91 feat(weex richtext): support events and add more test cases 2017-08-29 16:35:09 +02:00
Hanks b60964256c feat(weex richtext): support to parse styles and classList 2017-08-29 16:35:09 +02:00
Hanks 0ea2bb4fb4 feat(weex): support nested components in richtext 2017-08-29 16:35:09 +02:00
Hanks 09302a7211 test(weex): add test cases for richtext component 2017-08-29 16:35:09 +02:00
Nick Messing 3d14e855e4 fix: checkbox v-model="array" ignore false-value (#6180)
close #6178
2017-07-21 00:00:22 -04:00
Evan You 303655116f fix(provide/inject): merge provide properly from mixins
close #6175
2017-07-20 21:47:52 -04:00
Evan You eb9168cfc1 feat: warn when assigning to computed property with no setter
close #6078
2017-07-20 21:03:13 -04:00
Evan You a8ac129a58 fix: ensure looseEqual is not dependant on key enumeration order
close #5908
2017-07-20 20:41:18 -04:00
AchillesJ 06b9b0bbad fix(v-bind): respect .prop modifier on components (#6159) 2017-07-19 19:25:22 -04:00
laoxiong d03fa26687 fix(compile): properly generate comments with special character (#6156)
close #6150
2017-07-19 19:25:22 -04:00
AchillesJ b0f00e31e7 fix(provide/inject): resolve inject properly from mixins (#6107)
fix #6093
2017-07-19 19:25:22 -04:00
Evan You c70addf7d1 fix(v-model): use stricter check for <select> option update
close #6112
2017-07-19 19:25:22 -04:00
Eduardo San Martin Morote be3dc9c6e9 fix: include boolean in isPrimitive check (#6127)
suppresses key warning for boolean values, closes #6126
2017-07-19 19:25:22 -04:00
Evan You e0ca894dfb test: improve coverage 2017-07-13 13:50:42 +08:00
Evan You 67fe6cb823 test: use latest mobile browsers on saucelabs 2017-07-13 12:03:10 +08:00
Evan You 485e7403e4 test: make tests pass in IE 2017-07-12 18:33:16 +08:00
Evan You 6bf97721f1 feat(ssr): inheritAttrs support in SSR 2017-07-12 16:54:31 +08:00
Evan You 1bf98b0a99 test: adjust transition tests for firefox 2017-07-12 16:27:01 +08:00
Evan You 606666d5a9 test: fix Object.prototype.watch related warnings 2017-07-12 15:50:09 +08:00
Evan You 61187596b9 feat(core): $attrs, $listeners & inheritAttrs option
New features intended for easier creation of higher-order components.

- New instance properties: $attrs & $listeners. these are essentially aliases
  of $vnode.data.attrs and $vnode.data.on, but are reactive.

- New component option: inheritAttrs. Turns off the default behavior where
  parent scope non-prop bindings are automatically inherited on component root
  as attributes.

close #5983.
2017-07-11 22:38:09 +08:00
Evan You afa108238f test: remove unecessary id in test case 2017-07-11 16:55:14 +08:00
Evan You 11614d63b7 feat(v-on): support v-on object syntax with no arguments
Note this does not support modifiers and is meant to be used for handling
events proxying in higher-order-components.
2017-07-11 16:36:04 +08:00
chengchao 4d680794a5 fix(parser): the first newline following pre and textarea tag should be ignored (#6022)
fix #6022
2017-07-10 21:42:00 +08:00
Evan You a1d1145c91 fix(v-model): should generate component-specific code for tags with "is" attribute
fix #6066
2017-07-10 21:34:40 +08:00
Evan You 8d66691ee2 fix(core): should preserve reactivity-ness of injected objects
fix #5913
2017-07-10 21:12:43 +08:00
Hanks b1512d8b13 feat(weex): implement "weex.supports" api to support feature detection (#6053)
* feat(weex): add "weex.supports" api for feature detection

* test(weex): add test case for weex.supports and related methods
2017-07-10 12:15:31 +08:00
Hanks 0d6ad12a48 refactor(weex): sync recent changes of Weex (#6028)
* compile bundle on native side if 'compileBundle()' is available on
native side.

* refactor sendTasks

* reset renderer.compileBundle

* v2.2.2-weex.1

* v2.2.2-weex.2 && fixed memory leak

* call C++ timer instead of WxTimerModule in weex-vue-framwork

* v2.2.2-weex.4

* v2.2.2-weex.5

* v2.2.6-weex.1

* style(weex): fix eslint

* test(weex): fix test case for weex callback manager
2017-07-07 11:42:47 +08:00
Rahul Kadyan 306997eaf4 fix(core): add merge strategy for provide option (#6025)
Fix #6008
2017-07-07 11:39:25 +08:00
AchillesJ 254d85cfc4 fix(ref): refactor function registerRef (#6039)
fix #5997
2017-07-07 11:37:19 +08:00
wenlu.wang d8d4ca6763 fix: transition group should work with dynamic name (#6006) (#6019)
* fix: transition group should work with dynamic name (#6006)

* fix: improve remove class
2017-07-05 09:17:35 +08:00
AchillesJ eea0920f14 fix: improve Vue.set/Vue.delete API to support multi type of array index (#5973)
related #5884
2017-07-01 11:22:25 +08:00
AchillesJ 458030ae19 fix: v-bind object should not override props on scopedSlots (#5995)
* v-bind object should not override props on scopedSlots

* Update render-slot.js
2017-06-30 14:58:07 +08:00
wenlu.wang 049f3171a9 fix: support plugin with multi version vue (#5985)
close #5970
2017-06-30 11:20:43 +08:00
wenlu.wang e4da249ab8 feat: add `comments` option to allow preserving comments in template (#5951)
close #5392
2017-06-30 08:56:23 +08:00
JK 51c595a7ce feat(keep-alive): support Array for include and exclude (#5956)
* allow array index on keep-alive:include/exclude

* add Array in patternTypes

* fix flow type

* add flow type for include/exclude in watch

* add test case
2017-06-30 08:50:30 +08:00
wenlu.wang 3965e5053a feat: support sync modifier for v-bind="object" (#5943)
close #5937
2017-06-30 08:46:54 +08:00
lyhper 00a3085628 test: correcting existing test case (#5909)
Fix the location of the test case
2017-06-29 12:39:02 +08:00
Herrington Darkholme f6cd44c48b fix: ensure cleanup in watcher.get (#5988)
watcher.get should always clean up observee stack in order to prevent memory leak. Also, non-user
defined watch should rethrow error.

fix #5975
2017-06-29 12:38:14 +08:00
JK 55816543c4 fix(ssr): reference error when create $ssrContext for root component (#5981)
fix #5941
2017-06-29 12:37:03 +08:00
Evan You 0cd6ef321b feat: resolve ES module default when resolving async components 2017-06-29 12:12:01 +08:00
Evan You 610d1aabe9 build: move test config files into /test 2017-06-17 19:11:38 +08:00
kingwl 213f136a6e fix slot resolved incorrect with abstract component (fix #5888) (#5895) 2017-06-17 02:03:36 +08:00
gebilaoxiong 2f628c3114 test:improve reserved props test 2017-06-17 02:02:37 +08:00
gebilaoxiong f197d0dc45 test:add bind object test 2017-06-17 02:02:37 +08:00
王斐 8a2c5147ad Be able to use string type index in array (#5889) 2017-06-16 09:37:31 +08:00
JK 080c387d49 Merge inject when extending a component (#5827)
* simply fix inject extends

* add comments for normalizeInject

* normalizeInect should return for non-array

* remove isArray branch in resolveInject

* add test case for extending injection

* Create options.js

* type of inject should be object now

* Revert "type of inject should be object now"

This reverts commit 8466a2866b.
2017-06-15 22:15:36 +08:00
Luke Bennett 9831b403cf Add warnHandler to allow users to set a custom warn callback, similar to errorHandler (#5883) 2017-06-14 21:37:26 +08:00
Evan You a2a9110ea1 bump weex test deps 2017-06-13 18:14:03 +08:00
Evan You a855dd0564 add environment-agnostic build for vue-server-renderer 2017-06-13 16:54:55 +08:00
Evan You a18f879bb3 warn when methods conflict with data (close #5832) 2017-06-06 15:05:51 +08:00
Evan You 7b069453ed fix Object.prototype.watch test case 2017-06-06 14:48:05 +08:00
strantr 48c0c1ceb5 Added check in merge strat for watches if child is already an array (fix #5652) (#5653)
* Added check for if child is already an array

If the child is already an array it does not need to be wrapped again.
Fixing #5652

* Added unit test for watch merge strat

* Moved test to own describe

* Added test for merging multiple extends
2017-06-06 13:48:31 +08:00
Zhang Visper 7561b94eeb warn against non-primitive key (#5816) 2017-06-06 13:27:02 +08:00
Evan You 13bb643d6f handle in-out transition with async components 2017-06-05 22:21:45 +08:00
Evan You c3cdfcfa68 fix out-in transition for async components (fix #5760) 2017-06-05 19:01:23 +08:00
Evan You b4dd0be4fc improve .use() test cases and make it track installation based on constructor id 2017-06-05 16:30:10 +08:00
Evan You ab1203a096 update eslint config 2017-06-01 16:41:07 +08:00
Chris Nicola 11b7d5dff2 Add handleError during event handling (#5709)
* Add handleError during event handling

Currently handleError is used to handle errors during lifecycle hooks.
This commit adds this functionality in to the event handling for
consistency.

* style tweak
2017-05-29 14:24:25 +08:00
Maciej Kasprzyk b182ac4069 Warn when a inject has been not provided (#5681)
* warn when a inject has been not provided

* typo

* typo

* fix when undefined is provided

* use util hasOwn

* refactor

* test case

* Revert "test case"

This reverts commit 08f0a8b6c3.

* test case
2017-05-29 13:49:49 +08:00
Evan You b5e4a22a8d refined async hydration + tests 2017-05-24 16:50:17 +08:00
Evan You 8262edcd22 test for ssr rendering async components 2017-05-24 16:50:17 +08:00
Evan You 7404091896 support async hydration 2017-05-24 16:50:17 +08:00
Sébastien Chopin f3757eb37b feat: Add `defer` to body scripts (#5704)
* fix: prefetch should not have `as` attribute

* feat: Add `async` to body script tags

* Use defer instead of async

* Use defer instead of async
2017-05-22 17:47:55 +08:00
Evan You 43485fbc5b Merge branch 'ssr-optimize' into dev 2017-05-18 16:56:05 +08:00
Evan You f061d802d3 fix v-if false rendering 2017-05-18 16:53:35 +08:00
Evan You 41acdc0ff1 fix v-html/v-text on root element 2017-05-18 16:07:49 +08:00
Evan You 2f4ad14d9f test template v-if/v-for 2017-05-18 16:04:54 +08:00
Sébastien Chopin ebca266d10 fix: prefetch should not have `as` attribute (#5683) 2017-05-17 00:18:02 +08:00
Evan You 303780acd2 make function compilation reusable 2017-05-15 15:35:45 +08:00
Evan You af12d3ff7f progress 2017-05-15 14:14:49 +08:00
Evan You 7694c85564 fix static tree optimization for v-else(-if) conditions 2017-05-15 12:05:19 +08:00
Maciej Kasprzyk d6bd667e1a Warn when component option should be an object, but is not (#5605) (#5642)
* warn when component should be an object, but is not

* remarks

* remarks

* remarks

* rename to checkOptionType and guard production

* typo

* Update state.js

* Update test-object-option.js
2017-05-12 10:22:00 +08:00
AchillesJ e3ffa109b3 make vm.$watch api consistent with watch option (#5645) 2017-05-11 15:10:40 +08:00
chengchao aaad7334d9 improve scoped slot test case (#5640) 2017-05-10 00:54:09 +08:00
Evan You e70f191b56 no need to test composition events on Android 2017-05-10 00:51:28 +08:00
Evan You 38759a6957 fix test case in IE 2017-05-10 00:37:41 +08:00
Evan You 8d54aecdd0 async components: timeout should not trigger if already resolved (fix #5635) 2017-05-09 23:35:09 +08:00
Evan You 0ccefff794 support v-for on scoped slots (fix #5615) 2017-05-09 23:22:55 +08:00
laoxiong f2bd882073 Fix: nested child elements can not be updated correctly, fix #5618 (#5627)
* fix:nested elements can not be updated correctly

* add tests

* ensure nestedIndex is always passed down
2017-05-09 23:21:49 +08:00
Eduardo San Martin Morote d52a4991bd Prevent unecessary input trigger with v-model (#5589)
* Prevent unecessary input trigger with v-model

Fix #5586

* Add test for compositionend on v-model + @input

* [skip ci] Rename tests for compositionend
2017-05-07 21:46:33 +08:00
Herrington Darkholme 9ac4c4188d fix #5591: keep ssr template interpolation whitespace-insensitive (#5597) 2017-05-07 21:43:02 +08:00
laoxiong 3b426efe60 Fix when functional component render method retrun null (fix #5536) (#5539)
* fix:create empty vnode when functional component return null

* add test

* use isDef
2017-04-29 14:42:35 +08:00
Evan You d8315c42ef do not decode text inside script/style tags (fix #5526) 2017-04-27 12:23:48 +08:00
Evan You cb0531c4fb increase async delay for more test cases 2017-04-26 18:29:09 +08:00
Evan You c24f492543 fix edge test case 2017-04-26 18:24:38 +08:00
Evan You 1096890827 increase async component test delay 2017-04-26 18:06:31 +08:00
Yusuke Otsuka 12b7122c16 fix mixin issue (#5514) 2017-04-26 14:51:25 +08:00
Evan You 016920ebea support customizing context and window keys for renderState() 2017-04-25 13:22:11 +08:00
Eduardo San Martin Morote 380e988823 Allow slot names to be numbers (#5481)
Closes #5480
2017-04-25 12:25:27 +08:00
Evan You 2efc0446b3 inline css links in renderStyles() 2017-04-23 22:54:49 +08:00
Evan You 4f9f28cf16 renderLinks -> renderResourceHints 2017-04-23 22:54:49 +08:00
Evan You 9ca0c35a3f ssr: inject userContext into vnode to ensure correctness 2017-04-20 13:05:59 +08:00
Evan You 67d02fbf3f adjust renderToString context argument position 2017-04-20 10:15:41 +08:00
Evan You 2d50ac177b ssr inject: false option 2017-04-19 11:56:59 +08:00
Evan You 7b8b0e48f7 restructure: remove entires directory 2017-04-18 12:38:27 +08:00
Evan You c0da43d22f fix incorrect compiler warning for $delete usage in templates (fix #5464) 2017-04-18 11:40:32 +08:00
宋铄运 38810d8fd0 Support auto-prefixed style value as array (client/ssr) (#5460)
* support auto-prefixed style value as array (client/ssr)

* adjust test case
2017-04-17 20:49:10 +08:00
Evan You 5a617cc404 update ssr tests with local plugin build 2017-04-16 21:45:31 +08:00
Evan You 745fcd6d78 directMode -> runInNewContext 2017-04-16 21:45:31 +08:00
katashin 086ae4469b allow an extended constructor as global mixin (#5448) 2017-04-16 15:38:13 +08:00
Evan You 5eeb9de5e7 ssr: repeat all test cases for directMode 2017-04-14 16:26:12 +08:00
Evan You 760a74480e test warning component trace 2017-04-14 15:19:41 +08:00
Evan You 65cb5b4f78 adjust async chunk inference strategy 2017-04-14 13:48:42 +08:00
Evan You 9a5dd1bac8 fix test 2017-04-14 13:48:42 +08:00
Evan You 4e40666d53 wip 2017-04-14 13:48:42 +08:00
Evan You 682141fccc support Symbol in props type validation (close #5396) 2017-04-10 20:36:59 +08:00
Evan You 4b6913cb46 handle errors in nextTick (close #5277) 2017-04-10 15:01:32 +08:00
Eduardo San Martin Morote b997af0c01 Use genAssignmentCode in chehckbox model web compiler (#5402)
Fix #5398
2017-04-10 12:24:08 +08:00
Evan You c82546c54b fix keep-alive pruning active instance 2017-04-07 16:11:40 +08:00
Evan You 561bb467ba test functional auto props with render fn 2017-04-07 16:11:09 +08:00
Evan You 931aaea8dc expand .sync into extra listener 2017-04-06 13:51:44 +08:00
Evan You c28b566f19 tests for functional component api improvements 2017-04-05 17:44:38 +08:00
Evan You d2b7142cf5 tests for advanced async component features 2017-04-05 17:04:58 +08:00
Evan You 841fe6028a test computed property conflict warnings 2017-04-05 14:38:46 +08:00
kingwl 2701fa1a64 add provide/inject on functional context (#5204) 2017-04-05 14:36:15 +08:00
kingwl beee7d8143 support v-on passive modifier (#5132)
* support v-on passive modifier

* fix supportsPassive and run unit when the test browser supports

* add mutual exclusive warning

* Fix typo

* Fix typo

* Remove extra line - CS fix
2017-04-05 14:35:16 +08:00
Evan You 354c2f4922 fix keep-alive cache incorrectly pruned with transition mode="out-in" (fix #5346) 2017-04-03 15:32:23 +08:00
Evan You bbec0763ab remove problematic test cases (mutating in render fn) 2017-04-03 14:52:55 +08:00
Evan You 35aa5f0b2b warn click.right (close #5330) 2017-04-03 14:43:23 +08:00
Evan You a12d32a56d fix style diffing on cached/slot elements (fix #5318) 2017-04-03 14:13:57 +08:00
AchillesJ 3c0265517b handle errors thrown by directive hooks (#5314) (#5324)
* handle errors thrown by directive hooks

* fix import
2017-04-03 11:37:54 +08:00
Razvan Stoenescu 255b627f39 fix #5321 don't throw error when node gets relocated (#5322)
* don't throw error when node gets relocated

* perf: Simplify if check in vdom/patch
2017-04-03 11:36:50 +08:00
Evan You 78b73686ea expose preload/prefetch/scripts rendering on render context if no template is provided 2017-04-02 15:38:26 +08:00
Evan You 1e37633567 fix ssr xss (fix #5351) 2017-04-01 14:07:05 +08:00
Evan You 924435a0fa ssr: only preload scripts by default 2017-03-31 17:42:56 +08:00
Evan You 80fa9bf3d6 fix hydration tests 2017-03-31 17:23:49 +08:00
Evan You 69e62f0a74 refactor: remove constants from config 2017-03-31 17:04:19 +08:00
Evan You f4f4c126f2 ssr: handle link rel=preload for non-js assets too 2017-03-30 21:34:39 +08:00
Evan You 655c0f185b tests for ssr bundleRenderer + template + clientManifest 2017-03-30 15:19:13 +08:00
Evan You 2ea80399da restructure ssr tests: move template tests into separate file 2017-03-30 12:10:43 +08:00
Evan You e0a7c1ac68 use data attribute for ssr marker 2017-03-29 17:53:46 +08:00
Kenneth Crawford 6fcfdbd83f warn and handle missing get in computed (fix #5265) (#5267) 2017-03-27 10:41:29 +08:00
Evan You 0bb529a275 also warn when listening to camelCase events in in-DOM templates 2017-03-23 17:28:59 +08:00
Piotr Kaminski e47b1e5c4d Allow named properties on reactive arrays. (#5216)
* Allow named properties on reactive arrays.

* Remove semicolons to comport with style guide.

* Pacify flow type checking.

Without the cast to any, flow complains that Array doesn't have an
__ob__ property.  This appears to be an instance of this issue:
https://github.com/facebook/flow/issues/1330
2017-03-23 15:12:30 +08:00
Raymond Rutjes 23a058ed13 fix(inject): change warn message when trying to mutate an injected value (#5243) 2017-03-21 17:56:22 +05:30
kingwl 7dea9f1eb2 fix provide isn't reactive with a single array (#5229)
* fix provide isn't reactive with a single array - Fix #5223

* add warning when injections has been modified
2017-03-21 15:22:32 +08:00
kingwl 4c4a2ab65f trigger event after reassigned state - Fix #5191 (#5233) 2017-03-21 15:20:57 +08:00
chengchao e733e5cee8 fix SSR v-show render. (#5224)
* fix SSR v-show bug. v-show info needs to be merged from parent to child component

* improve variable name

* update test case

* update test case
2017-03-21 09:50:26 +08:00
Evan You 59a372229b also catch error in data() (close #5198) 2017-03-17 11:46:37 +08:00
Hanks 29445153e3 [weex] Support unary and left open tags (#5052)
* [weex] Support unary and left open tags

* [weex] add test case for unary tag

* [compiler] move canBeLeftOpenTag to compiler option
2017-03-15 09:56:25 +08:00
Evan You 041683953a improve camelCase prop warning message 2017-03-13 15:54:36 +08:00
AchillesJ c6ab2e06d4 warn when template contains text outside root element (#5164)
* warn when template contains text outside root element

* fix warned flag

* make warn once a function
2017-03-13 15:42:46 +08:00
CodinCat 025e763124 Warn when not passing props in kebab-case (#5161)
* Warn when not passing props in kebab-case

* Move keyInLowerCase to dev only block
2017-03-13 15:41:26 +08:00
Evan You a6e1ae0aac v-bind object should have lower priority than explicit bindings (fix #5150) 2017-03-10 16:04:43 +08:00
Evan You e7dfcc334d fix custom directive arg fall through (fix #5162) 2017-03-10 15:55:53 +08:00
kingwl 4964b253d0 fix wrong order of generate modifier code (#5147)
* fix wrong order of generate modifier code

* add unit test of #5146

* Update events.js
2017-03-10 09:42:14 +08:00
AchillesJ f9706dc288 fix v-on unit test (#5144) 2017-03-10 09:40:04 +08:00
Herrington Darkholme 8fca83d6b6 fix #5121: parse content in textarea as plaintext (#5143)
* fix #5121: parse content in textarea as plaintext

* update comment
2017-03-10 09:39:38 +08:00
Evan You 95cd2bd7fa test v-model select with circular reference 2017-03-09 10:30:24 +08:00
Evan You fc6f181052 fix weex model test 2017-03-08 16:00:35 +08:00
Evan You c619b8d22c remove inline value warnings for checkbox/radio/select also (close #5112) 2017-03-08 15:22:14 +08:00
kingwl 2e1e809467 fix prevent default unit test (#5127) 2017-03-08 13:47:39 +08:00
Evan You 303824ea9c default slot should use fallback content when it contains all whitespace nodes (fix #5097) 2017-03-08 12:28:34 +08:00
Evan You a524919d21 fix v-on inline function expression with modifiers (fix #5120) 2017-03-08 11:28:01 +08:00
YOU e12d96a132 chore(parser.spec): fix an IE conditional test with a typo (#5102)
* chore(parser.spec): fix an IE conditional test with a typo

* check children.length is 0, instead of undefined
2017-03-08 10:17:08 +08:00
YOU 7010d0ffc5 chore(model-select.spec): add a check for value binding and fix some typo (#5092)
* chore: add a check for value binding

* chore: fix some typo
2017-03-08 10:14:55 +08:00
YOU 61930e0cc6 chore(test): fix some typos (#5101) 2017-03-06 09:50:49 +01:00
Nathan Shively-Sanders 2dc177ffb3 SFC parseComponent pads complete content with spaces (#5059)
* SFC parseComponent pads content with spaces

when `{ pad: true }` is provided. That is, all content is converted to
spaces. Previously, each line was truncated to "//". The new padding
method works better with character-oriented tools that calculate
positions by distance from the beginning of the file instead of by line
number.

* Made parseComponent's pad support "line" | "space"

Also still supports true for backward compatibility. True is the same as
"line".
2017-03-06 04:36:39 +08:00
YOU eb58694f6f chore(filter.spec): fix variable-- test case (#5094) 2017-03-05 09:40:49 +09:00
YOU c683caff3a chore(model-text.spec): add a missing check (#5093) 2017-03-05 09:40:35 +09:00
YOU 23a20ce09d chore: \s match all whitespaces (#5091) 2017-03-05 09:40:14 +09:00
YOU 62e4f2b3d1 chore: fix some closetag mismatches (#5088) 2017-03-05 00:10:11 +09:00
YOU 40bc5923ae chore: preserveWhitespace is true by default (#5082) 2017-03-04 03:40:18 +08:00
laoxiong 6a5b8043f2 imporve:check the delete oparator in event expression (#5072)
* improve:check the unary operators

* add:test
2017-03-03 12:08:59 +08:00
kazuya kawaguchi 0922b1d8aa improve set/delete API (#5050) 2017-03-03 12:07:42 +08:00
Bojan 1b38a261c5 support multi event (#5056) 2017-03-03 11:51:57 +08:00
Evan You 16765db9a4 separate provide/inject resolve timing to allow data/props to rely on injections 2017-03-03 11:49:10 +08:00
Evan You 3294eba5a5 fix v-on .left .right compat with keyboard events (fix #5046) 2017-03-03 11:40:15 +08:00
Rahul Kadyan 2a8a777b11 Check property exists instead of truthy value (#5044)
* Check property exists instead of truthy value

* Provide some falsy values for inject tests
2017-03-01 11:01:24 -05:00
Evan You 10e724fa78 support string values for transition duration 2017-02-25 18:58:15 -05:00
Evan You 72a8c13122 reduce the amount of methods exposed on Vue.util 2017-02-25 18:09:48 -05:00
Evan You 6c3e6dcdce support ES2015 Symbol in provide/inject 2017-02-25 18:09:48 -05:00
Evan You e7a2510e63 Revert "[WIP] Support for ref callback (#4807)"
This reverts commit acec8db2c4.
2017-02-24 18:17:04 -05:00
Evan You f66028b9cd introduce tip + make v-for component key warning a tip + refactor web compiler entry 2017-02-24 16:59:41 -05:00
Evan You d304eee296 fix weex tests 2017-02-24 12:26:21 -05:00
Evan You 680494690f give long transition test specific timeout value 2017-02-23 22:43:23 -05:00
Evan You 7fa8fa76fe avoid duplicate lifecycle hooks during constructor resolution 2017-02-23 21:56:01 -05:00
Evan You 4cf49828c0 properly handle cosntructor options modification before global mixin application (fix #4976) 2017-02-23 18:11:18 -05:00
Evan You 8d25e8f574 make explicit transition duration tests more stable 2017-02-21 22:19:08 -05:00
Evan You 42492ffaf9 adjust explicit transition duration tests 2017-02-21 22:08:25 -05:00
Evan You 29f6902d19 coverage 2017-02-21 13:25:57 -05:00
Evan You f916bcf371 feat: provide/inject (close #4029) 2017-02-20 16:58:24 -05:00
Evan You 1861ee9570 feat: renderError 2017-02-20 00:16:40 -05:00
Evan You 3c0cdb5535 improve error handling for lifecycle hooks 2017-02-19 23:21:29 -05:00
Hanks 3e523e6d57 [weex] convert kebab-case attribute name to camelCase in compiler (#4964)
* [weex] add test case for camelize props

* [weex] add test case for append props

* [weex] camelize component attribute name

* [weex] more reliable camelize functions
2017-02-18 19:36:00 -05:00
Chris Casola 3dc9338479 Warn when defining a method with same name as a prop (#4950)
* Warn when defining a method with same name as a prop

* update error message
2017-02-18 09:09:27 -05:00
Evan You 9ccffe72db invoke activate/deactivate recursively + refactor (close #4242) 2017-02-17 18:56:09 -05:00
kingwl 0e2dafa74c support mouse event modifier (#4866) 2017-02-16 16:04:04 -05:00
kingwl 8bb6c2bdaa support $on multi event (#4860) 2017-02-15 18:39:53 -05:00
Guillaume Chau 0598ab0c64 #4371 - Explicit transition durations (#4857)
* Add transition explicit duration

* Fix tests for explicit transition duration

* Tweaks & default to milliseconds

* Better tests

* Better test for change value case

* Fix transition duration tests

* Better flow typing

* Fix transition test

* Revert "Fix transition test"

This reverts commit db75b3801ed11182119c78ebae87f40a62803714.

* Fix transition test


Revert "Fix transition test"

This reverts commit db75b3801ed11182119c78ebae87f40a62803714.
Fix transition test

* Better flow types

* Warn message

* Better prop handling

* Better flow typings

* adjustments
2017-02-15 18:37:09 -05:00
Rahul Kadyan acec8db2c4 [WIP] Support for ref callback (#4807)
*  Tests for ref callback

*  Support for ref callback

* Add test of inline ref callback

* adjust ref implementation strategy

* fix patch ref registration

* fix tests

* fix flow

* fix test for phantomjs
2017-02-15 17:29:13 -05:00
Evan You 05c769bf44 fix .once with other modifiers that prevent execution of a handler (fix #4846) 2017-02-14 17:09:37 -05:00
Evan You f59aef08e6 further improve end tag check (close #4408) 2017-02-14 15:47:40 -05:00
Zephraph 97d36bc23f Pass attributes to parseComponent (addresses #4914) (#4925)
* Pass attributes to parseComponent

* Edited source in the right place, added test

* Back out changes made to the generated compiler build file

* Add a few more checks
2017-02-14 14:35:46 -05:00
Herrington Darkholme 01151ce3fa fix #4872, use context agnostic Function constructor check (#4928)
* fix #4872, use context agnostic Function constructor check

* use getType to check Function Constructor

* fix negation
2017-02-14 13:40:57 -05:00
Riccardo Causo 7259aefbe8 filter division expression with parentheses (fix #4838) (#4844)
* filter division expression with parentheses (fix #4838)

* verify also dot and square brackets

* missed a link check sorry for the useless commit

* added + - and _ support
2017-02-14 13:30:11 -05:00
Evan You 406352baba move computed properties definition to component prototype when possible 2017-02-14 12:03:14 -05:00
Evan You 4f6b1014b3 improve $props test case 2017-02-14 11:39:05 -05:00
yantene 22f9560c92 add $props 2017-02-14 11:39:05 -05:00
Evan You 1c79592524 feat: implement template option for vue-server-renderer 2017-02-13 13:34:05 -05:00
Evan You af619151c6 improve other parser warnings 2017-02-06 19:32:17 -05:00
Evan You cfb4d7c655 improve parser warning for tags with no matching close tag 2017-02-06 19:18:50 -05:00
Evan You a0a619f611 fix sfc parser hanging on trailing ill-formatted brackets (fix vue-loader/#628) 2017-02-06 18:24:32 -05:00
Evan You bf1f5f18e2 avoid externals warning in ssr tests 2017-02-06 18:24:32 -05:00
Eduardo San Martin Morote ec7fca8495 Fix multiple attr in select with undefined value (#4859)
Fix #4855
2017-02-06 11:58:36 -05:00
p(^-^q) 8bf5af8edf fix `addClass` utlil bug (#4863)
* fix addClass util bug

`<transition-group move-class=“ value with leading or trailing whitespace ” />`

* fix addClass util bug

`<transition-group move-class=“ value with leading or trailing whitespace ” />`

* fix addClass util bug

`<transition-group move-class=“ value with leading or trailing whitespace ” />`

* update test case for `addClass / removeClass` util
2017-02-06 11:53:04 -05:00
Evan You c2c87419fe test bundleRenderer bundle format support + source map 2017-02-03 10:42:19 -05:00
Evan You a2ca9b5184 suppress logs during weex tests 2017-02-03 10:42:19 -05:00
Evan You 1baa9d9c6c upgrade to use webpack 2.2 2017-02-03 10:42:19 -05:00
Evan You 5ae63d9d2f warn v-for component lists without explicit keys 2017-01-24 16:04:14 -05:00