Commit Graph

320 Commits

Author SHA1 Message Date
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 89f0d29f2d fix: inherit SVG ns on component root node (#6511)
fix #6506
2017-09-05 15:12:35 -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
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
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 485e7403e4 test: make tests pass in IE 2017-07-12 18:33:16 +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
wenlu.wang e4da249ab8 feat: add `comments` option to allow preserving comments in template (#5951)
close #5392
2017-06-30 08:56:23 +08:00
wenlu.wang 3965e5053a feat: support sync modifier for v-bind="object" (#5943)
close #5937
2017-06-30 08:46:54 +08:00
Zhang Visper 7561b94eeb warn against non-primitive key (#5816) 2017-06-06 13:27:02 +08:00
Evan You b5e4a22a8d refined async hydration + tests 2017-05-24 16:50:17 +08:00
Evan You 7404091896 support async hydration 2017-05-24 16:50:17 +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
Evan You 38759a6957 fix test case in IE 2017-05-10 00:37:41 +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
Evan You d8315c42ef do not decode text inside script/style tags (fix #5526) 2017-04-27 12:23:48 +08:00
Evan You c24f492543 fix edge test case 2017-04-26 18:24:38 +08:00
Evan You 7b8b0e48f7 restructure: remove entires directory 2017-04-18 12:38:27 +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 e0a7c1ac68 use data attribute for ssr marker 2017-03-29 17:53:46 +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
kingwl 4c4a2ab65f trigger event after reassigned state - Fix #5191 (#5233) 2017-03-21 15:20:57 +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
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
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 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 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
kazuya kawaguchi 0922b1d8aa improve set/delete API (#5050) 2017-03-03 12:07:42 +08:00
Evan You 3294eba5a5 fix v-on .left .right compat with keyboard events (fix #5046) 2017-03-03 11:40:15 +08: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
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
chengchao e02fb1294d preserve the only whitespace child (#4760) 2017-01-20 09:42:54 -05:00
dhcmrlchtdj 938fa4efcc fix(sfc): component contains '<' only (#4753)
* fix(sfc): component contains '<' only

* update based on reviews
2017-01-19 22:23:20 -05:00
Evan You c660917b29 improve event update algorithm (thanks to suggestions from @defcc) 2017-01-13 19:44:32 -05:00
Evan You 1a1952ba81 handle single -> array & array -> single event handler patching (fix #4650) 2017-01-13 11:49:49 -05:00
Evan You 08bd81f8c0 fix #4530 with smaller change scope 2017-01-12 21:41:23 -05:00
Evan You ab0a2259e0 Revert "also bind static special attrs as props (fix #4530)"
This reverts commit b3ebfef91d.
2017-01-12 20:58:32 -05:00
Evan You 4e830ba3c3 Revert "Mark node with static props as static (#4662)"
This reverts commit 92657249dd.
2017-01-12 20:57:30 -05:00
chengchao 92657249dd Mark node with static props as static (#4662)
* fix special static attrs as dom prop

* refactor
2017-01-10 17:38:32 -05:00
Evan You 2ee516dfc8 ensure updated hook is called after children are updated as well (fix #4599) 2016-12-29 16:19:44 -05:00
Evan You 6b1755ae8c adjust hydration strategy (fix #4560) 2016-12-27 17:27:20 -05:00
chengchao 66bf120f7a enforce to loop through children to get the correct normalize type (#4572) 2016-12-26 13:28:32 -05:00
Evan You 01f533db1a avoid duplicate whitespace nodes caused by comments 2016-12-23 20:08:51 -05:00
Evan You de220a635d ignore text nodes between v-if conditions (fix #4533) 2016-12-22 23:40:10 -05:00
Evan You b3ebfef91d also bind static special attrs as props (fix #4530) 2016-12-22 22:32:57 -05:00
chengchao 71cc0a575b Node maybe be removed v-html/v-text (#4548) 2016-12-22 21:17:40 -05:00
Evan You f1c38674f2 use simple normalization for components, fix functional component multi-root node (fix #4472) 2016-12-14 12:22:54 -05:00
Evan You 6116bbf13a fix svg foreignObject regression (fix #4478) 2016-12-14 11:24:53 -05:00
chengchao 6918436bf8 Update normalize children (fix 4466) (#4468)
* omit boolean node

* add test case

* update boolean type

* update test case

* update test case
2016-12-13 11:52:25 -05:00
Evan You d2f7f1913e fix codegen tests 2016-12-05 02:36:40 +01:00
Evan You 4b51ad0483 rename _h -> _c so that vue-template-es2015-compiler can use the new internal createElement without breaking backwards compatibility 2016-12-05 02:36:40 +01:00
Evan You 7c3c86f360 fix namespace hoisting 2016-12-05 02:36:40 +01:00
Evan You 79e1058799 wip: refactor compiler to skip normalization when possible
wip fix

wip fix

wip fix
2016-12-05 02:36:40 +01:00
Evan You 1def2d11a5 fix test for emptyVNode rename 2016-12-05 02:36:40 +01:00
Evan You de7764a385 refactor patch createElm function, fix component hook merging 2016-11-30 14:21:01 -05:00
chengchao 6ea9a4db42 Support mutliple keys for keycode (#4328)
* support mutliple keys for keycode

* update flow type

* add test case

* update comment

* update flow type

* update comment
2016-11-30 12:16:10 -05:00
Changyu Geng 9215ff0295 Modifier once for v-on (#4267)
* Modifier once for v-on

* Reformat code

* Modifier once for v-on: using removeEventListener instead, bug fix of handler arguments passing, bug fix of modifier ordering problem

* Enhancement of event listener removal which allows rendering of capturing / once events for render function

* Reformat code
2016-11-30 12:15:18 -05:00
Evan You 1903df4991 rename ASTElement node.conditions -> node.ifConditions, avoid mutating it during codegen (close #4317) 2016-11-25 10:06:21 -05:00
Evan You ae4db82c4b fix unexpected warnings in tests 2016-11-24 12:53:13 -05:00
Evan You b7946a4b22 wip: fix tests with expected warnings 2016-11-24 12:00:51 -05:00
(´・ω・`) fce3f04a44 Ensure Vue instance's vnode and element is up to date (#4299)
* fix #4284, recursively update vnode element

* fix #4284, ensure vm's vnode is up to date

* add test for edge case
2016-11-23 13:18:52 -05:00
Evan You 9d0bc9768b fix sfc parser special tag check for nested templates (fix #4289) 2016-11-23 13:15:09 -05:00
Evan You b45b974a5c limit mouse event modifiers to mouse events 2016-11-21 17:34:03 -05:00
Evan You cc4f4c5bda v-elseif -> v-else-if 2016-11-21 15:25:08 -05:00
chengchao af78bcf916 Support v-if multiple conditions (#4271)
* add if conditions

* update v-if conditional

* update test

* update test case

* add test case

* update if conditions

* update walkThroughConditionsBlocks

* update v-elseif

* update v-once with v-elseif test case

* update style with v-elseif

* update flow type
2016-11-21 15:24:54 -05:00
Evan You a0d8603f90 support destructuring in v-for alias 2016-11-21 11:41:18 -05:00
Evan You 0b78ea9696 properly handle inline function expressions in v-on 2016-11-20 12:03:43 -05:00
Evan You 71ce60da9a support filters in v-bind 2016-11-20 12:03:43 -05:00
Evan You f242e119fa fix nextTick Promise implementation for polyfills 2016-11-20 12:03:24 -05:00
Evan You 6c7bc69328 sfc parser: treat all custom blocks as special tags 2016-11-20 11:59:55 -05:00
Eduardo San Martin Morote ff7f231002 Support custom blocks in SFC parser (#4157)
This allow to use other block appart from `template`, `script` or
`style` in the SFC parser. This allows such things as writing tests or
examples directly into the SFC file. Those are meant to be handled by
programs others than vue-loader like vue-play.
2016-11-20 11:37:42 -05:00
Chris Fritz 8bf26536d3 Add promise support to nextTick (#3967)
* add promise support to nextTick

* remove test for non-existent nextTick console error

* Update flow annotation for callback

* Revert flow annotation for nextTick callback
2016-11-20 09:50:38 -05:00
Changyu Geng 048014ac0d Modifiers key modifier for directive on of Vue.js 2.0 (#4034)
* Modifiers key modifier for directive on

* meta modifier key modifier for directive on

* Code format
2016-11-20 09:46:31 -05:00
chengchao c1b84f87fb fix markStaticRoots with v-else (#4256) 2016-11-20 09:43:40 -05:00
Evan You c1bf20acb6 do not trigger change on NaN->NaN set (fix #4236) 2016-11-18 11:47:02 -05:00
Evan You 9a742cb423 only treat binding as domProps on specific elements (fix #4233) 2016-11-18 11:36:05 -05:00
Evan You 9a659593c4 adjust optimizer strategy and avoid marking simple elements as static root 2016-11-17 18:08:23 -05:00
Evan You 9931b715cd avoid marking slot content as static. 2016-11-12 22:16:45 -05:00
Evan You 5d36e8bc1b fix IE conditional comments (fix #4125) 2016-11-04 19:48:11 -04:00
Evan You d0afcd3cf9 fix domProps unset for v-html (fix #4107) 2016-11-04 16:22:49 -04:00
Evan You bc455352a3 test sfc parser <style module> 2016-11-03 16:25:53 -04:00
Evan You e2a361a052 forgivingly handle < inside template plain text (fix #4012) 2016-11-03 00:53:49 -04:00
Chris Fritz 84918577d2 fix problematic use of 'deprecated' in warnings (#4043) 2016-11-01 11:17:25 -04:00
Evan You 7dc38dea27 fix SFC parsing pug templates that contains "<" (fix #3973) 2016-10-22 16:27:35 +08:00
peisong 9c91190b40 Fix typos. (#3956) 2016-10-19 17:21:22 +02:00
Evan You 3f8fa43819 fix duplicate attribute test case in IE 2016-10-13 05:19:51 -04:00
Evan You 1fa3844dc2 refactor directive update implementation 2016-10-11 20:31:13 -04:00
Evan You 74e4e11b44 fix v-on handler with whitespaces (fix #3893) 2016-10-10 19:30:19 -04:00
Chris Fritz de199f9bbd allow 2 root nodes with v-if and v-else (#3887)
* allow 2 root nodes with v-if and v-else

* fix compiler-options test with less specific text
2016-10-09 16:33:23 -04:00
Vincent Klaiber 463c9c9e08 Switch to https (#3864)
Replaced all http vuejs.org links with https instead.
2016-10-07 17:39:51 -04:00
Evan You 8ef603b7c3 test <template> key warning, fix coverage 2016-09-30 14:19:16 -04:00
Evan You 47ee6abfc6 remove codegen v-for truthiness check (fix #3817) 2016-09-29 22:05:39 -04:00
松鹤 575e810670 Optimization unit testing [vdom/patch/children] (#3733)
Optimization unit testing for vdom/patch/children.spec.js
2016-09-23 11:01:24 -04:00
Evan You d6a7568891 improve v-bind implementation and make it work on components (fix #3670) 2016-09-14 10:14:45 -04:00
Evan You 1c4ca4bc08 fix lint 2016-09-08 13:17:30 +02:00
Evan You 7a2c986722 relax SSR hydration match check to allow client populating empty parent nodes 2016-09-08 13:12:29 +02:00
Evan You 4afccc8eec proper slot duplication warning (fix #3595) 2016-09-08 11:47:22 +02:00
Evan You 4d640ce4d9 tweak v-if to avoid unnecessary node replacement 2016-08-27 17:01:57 -04:00
Evan You 014d2f8599 fix vdom patch edge case for static nodes being reused and as insertion reference node (fix #3533) 2016-08-27 16:29:07 -04:00
Brandon Surowiec 0f8ad06b2c Fix Spelling (#3496)
* Fix Spelling

* Fix other instances.
2016-08-22 23:03:00 +02:00
Evan You d2df58e547 move v-show marker to runtime so that render functions work as expected (fix #3488) 2016-08-20 11:14:41 -04:00
Evan You 13ce3a2559 fix v-on chained keyCodes (fix #3478) 2016-08-18 12:17:17 -04:00
Evan You 18386c4cf4 fix static nodes optimization inside v-for (fix #3406) 2016-08-08 19:03:00 -04:00
Evan You fe801b16e4 wip: fix $parent after children change 2016-08-05 12:43:35 -04:00
Evan You b5b963f51d wip: refactor children resolution (remove thunk mechanism) 2016-08-05 12:10:13 -04:00
Evan You 5ed0c16b68 better hydration fail warnings 2016-08-04 13:50:16 -04:00
Evan You e1ab28c8c6 improve coverage 2016-07-31 19:30:20 -04:00
Evan You 7f429e9c91 discard vnode children if it has innerHTML or textContent as a prop (fix #3360) 2016-07-31 19:25:41 -04:00
Evan You d7ae39044d fix class updates if new vnode doesnt contain any class data 2016-07-29 10:46:09 -04:00
Evan You 35ee5b105e remove staticAttrs 2016-07-29 10:45:43 -04:00
Chris Fritz 3e06c575cb Allow 2 root nodes with v-if and v-else (#3329)
* allow 2 root nodes with v-if and v-else

* apply root constraints to 2nd root element with v-else
2016-07-28 23:40:18 -04:00
Evan You 04e2b53cd7 properly perserve whitespace in <pre> (fix #3341) 2016-07-28 18:50:05 -04:00
katashin bbc07afd15 allow to initialize value attribute to 0 (#3334) 2016-07-27 15:16:15 -04:00
Evan You bee95f8c08 Revert "remove parser pre/post transforms (not used)"
This reverts commit 2e7a792308.
2016-07-26 22:23:54 -04:00
Evan You 74f8b98509 handle static vnodes properly during patch (fix #3325) 2016-07-26 15:49:40 -04:00
Evan You 2c6930adfc further improve scheduler 2016-07-24 21:46:25 -04:00
Evan You 472b8975ed adjust scheduler: call user watchers before component updates 2016-07-20 18:43:20 -04:00
Evan You 2e7a792308 remove parser pre/post transforms (not used) 2016-07-19 18:43:33 -04:00
Evan You 69ecdcb05e rename vnode.data.props -> domProps 2016-07-19 17:52:10 -04:00
Evan You 2732fec59e tweak error handling 2016-07-15 17:22:53 -04:00
Evan You d867b9e2e4 test observed vnode data warning 2016-07-14 19:31:34 -04:00
Evan You 05ef502c8a coverage for nested SVG vnode namespace 2016-07-14 10:53:12 -04:00
Evan You 39bcd60a33 remove no longer necessary specs 2016-07-13 12:21:47 -04:00
Evan You afc414976c fix svg component children 2016-07-13 11:38:50 -04:00
Evan You 0764ae252e ensure unique key for elements with transition (fix #3247) 2016-07-08 18:09:32 -04:00
Evan You a06a2d00e3 tune scheduler to ensure update order for late-pushed watchers 2016-07-08 13:20:53 -04:00
Evan You d164cf537a directive: always call update + ensure modifiers 2016-07-07 17:36:48 -04:00
Evan You 2c4fe07704 skip unknown element test on Android 4.2 2016-07-07 17:00:28 -04:00
Evan You 751b0c87a4 fix watcher tests 2016-07-07 13:37:58 -04:00
Evan You 93342d7b96 fix coverage 2016-07-03 15:03:48 -04:00
Evan You 579ff4ddbc fix nested svg namespaces 2016-07-03 14:51:14 -04:00
kazuya kawaguchi 41a3b79ecd add compile option test (#3181) 2016-06-30 11:01:37 -04:00
Evan You 1b60a88ee1 adjust sameVnode check (fix #3176) 2016-06-29 12:03:37 -04:00
Evan You feee9ef6f6 remove camelCase tag warning 2016-06-28 17:41:44 -04:00
Evan You 0800fbe641 allow omitting data in createElement 2016-06-27 14:18:13 -04:00