├── app.js
├── bower_components
└── vue
│ ├── .bower.json
│ ├── LICENSE
│ ├── bower.json
│ ├── dist
│ ├── vue.js
│ └── vue.min.js
│ └── src
│ ├── api
│ ├── child.js
│ ├── data.js
│ ├── dom.js
│ ├── events.js
│ ├── global.js
│ └── lifecycle.js
│ ├── batcher.js
│ ├── cache.js
│ ├── compiler
│ ├── compile.js
│ └── transclude.js
│ ├── config.js
│ ├── directive.js
│ ├── directives
│ ├── attr.js
│ ├── class.js
│ ├── cloak.js
│ ├── component.js
│ ├── el.js
│ ├── events.js
│ ├── html.js
│ ├── if.js
│ ├── index.js
│ ├── model
│ │ ├── checkbox.js
│ │ ├── default.js
│ │ ├── index.js
│ │ ├── radio.js
│ │ └── select.js
│ ├── on.js
│ ├── partial.js
│ ├── ref.js
│ ├── repeat.js
│ ├── show.js
│ ├── style.js
│ ├── text.js
│ ├── transition.js
│ └── with.js
│ ├── filters
│ ├── array-filters.js
│ └── index.js
│ ├── instance
│ ├── compile.js
│ ├── events.js
│ ├── init.js
│ └── scope.js
│ ├── observer
│ ├── array.js
│ ├── dep.js
│ ├── index.js
│ └── object.js
│ ├── parsers
│ ├── directive.js
│ ├── expression.js
│ ├── path.js
│ ├── template.js
│ └── text.js
│ ├── transition
│ ├── css.js
│ ├── index.js
│ └── js.js
│ ├── util
│ ├── debug.js
│ ├── dom.js
│ ├── env.js
│ ├── filter.js
│ ├── index.js
│ ├── lang.js
│ └── merge-option.js
│ ├── vue.js
│ └── watcher.js
├── components.html
├── custom-directive.html
├── custom-filter.html
├── directive.html
├── filter.html
├── helloworld.html
├── index.html
├── repeat-object.html
├── slides
├── assets
│ ├── 05772EC1-BAB6-4889-854E-0286A73506E9
│ │ ├── 05772EC1-BAB6-4889-854E-0286A73506E9.json
│ │ ├── 05772EC1-BAB6-4889-854E-0286A73506E9.jsonp
│ │ ├── assets
│ │ │ ├── 53722F0E42FCB9106D88F30EF8B21DCD.png
│ │ │ └── 87B5ADF71758EC9246A23DED3F69837E.png
│ │ └── thumbnail.jpeg
│ ├── 06B07B6A-D18B-4997-B8AC-D3DFEFBA88AD
│ │ ├── 06B07B6A-D18B-4997-B8AC-D3DFEFBA88AD.json
│ │ ├── 06B07B6A-D18B-4997-B8AC-D3DFEFBA88AD.jsonp
│ │ ├── assets
│ │ │ ├── 9C7A1BDA67EF4DBD810CC07A665B0E2E.png
│ │ │ └── DB20D269B3009BE1FC05E0A42BEA8F8F.png
│ │ └── thumbnail.jpeg
│ ├── 07FD0EB9-2B93-45FE-8524-9A1A6E82BFA2
│ │ ├── 07FD0EB9-2B93-45FE-8524-9A1A6E82BFA2.json
│ │ ├── 07FD0EB9-2B93-45FE-8524-9A1A6E82BFA2.jsonp
│ │ ├── assets
│ │ │ ├── 2E2BE01909F32834B2B03801A95DDA86.png
│ │ │ └── 56308231EEA2450B4D6252EDE102D604.png
│ │ └── thumbnail.jpeg
│ ├── 0CFE5B0C-2A9B-4E19-AE4C-F582F2304378
│ │ ├── 0CFE5B0C-2A9B-4E19-AE4C-F582F2304378.json
│ │ ├── 0CFE5B0C-2A9B-4E19-AE4C-F582F2304378.jsonp
│ │ ├── assets
│ │ │ ├── 25356130A0B7B28EAC9299BD719F273B.png
│ │ │ ├── 3D0E5C856E25D3C8103A16A701485871.png
│ │ │ ├── 4C2B7B42DFDF4DA043F4DEA937B18157.png
│ │ │ ├── A3545A078E0570CC7D4DDBC3CCD5697A.svg
│ │ │ └── A3545A078E0570CC7D4DDBC3CCD5697A.svgp
│ │ └── thumbnail.jpeg
│ ├── 0DC871C1-B5E4-448C-B9E1-8AF07C6C5628
│ │ ├── 0DC871C1-B5E4-448C-B9E1-8AF07C6C5628.json
│ │ ├── 0DC871C1-B5E4-448C-B9E1-8AF07C6C5628.jsonp
│ │ ├── assets
│ │ │ ├── 2FE06FD805E594BC99AC9F4FAB9CCE03.png
│ │ │ └── 79CB515BF41F2A7D16C2302917E0B07C.png
│ │ └── thumbnail.jpeg
│ ├── 11696770-8DCA-4C13-8A0F-DD716B2DDF47
│ │ ├── 11696770-8DCA-4C13-8A0F-DD716B2DDF47.json
│ │ ├── 11696770-8DCA-4C13-8A0F-DD716B2DDF47.jsonp
│ │ ├── assets
│ │ │ ├── 4CD8850E0AF8033094C85C781A5E66D9.png
│ │ │ ├── 642C1551874B99A3F6015A1959F06746.svg
│ │ │ ├── 642C1551874B99A3F6015A1959F06746.svgp
│ │ │ └── 79CB515BF41F2A7D16C2302917E0B07C.png
│ │ └── thumbnail.jpeg
│ ├── 15010985-C303-492D-BA98-3F2832DA9CBC
│ │ ├── 15010985-C303-492D-BA98-3F2832DA9CBC.json
│ │ ├── 15010985-C303-492D-BA98-3F2832DA9CBC.jsonp
│ │ ├── assets
│ │ │ ├── 5FE5454CEC4113FDE43DDD5291A37C0F.png
│ │ │ └── 667E937E9A6462ADCAC23AADE09217BE.png
│ │ └── thumbnail.jpeg
│ ├── 1BD95630-4226-4836-9173-41D09F8336BE
│ │ ├── 1BD95630-4226-4836-9173-41D09F8336BE.json
│ │ ├── 1BD95630-4226-4836-9173-41D09F8336BE.jsonp
│ │ ├── assets
│ │ │ ├── 2FE06FD805E594BC99AC9F4FAB9CCE03.png
│ │ │ ├── 8B174F6C00DE0C3BC6ED636D9FEDABC9.png
│ │ │ ├── BD0036D67541B2D12F08E2E21E040D24.png
│ │ │ └── C3C0FC898C94653CAF8AD846D6CCD108.png
│ │ └── thumbnail.jpeg
│ ├── 1EE2B9DE-CC6C-4D7D-B021-B0E04E829C13
│ │ ├── 1EE2B9DE-CC6C-4D7D-B021-B0E04E829C13.json
│ │ ├── 1EE2B9DE-CC6C-4D7D-B021-B0E04E829C13.jsonp
│ │ ├── assets
│ │ │ ├── 1D21CB53A166B86A35C20F208946EFD2.png
│ │ │ ├── 5FE5454CEC4113FDE43DDD5291A37C0F.png
│ │ │ └── 93A3B80C55BE491CC5976343EC6F7E38.png
│ │ └── thumbnail.jpeg
│ ├── 22239A1C-5F1D-4D91-86F8-3E27BCB89AC4
│ │ ├── 22239A1C-5F1D-4D91-86F8-3E27BCB89AC4.json
│ │ ├── 22239A1C-5F1D-4D91-86F8-3E27BCB89AC4.jsonp
│ │ ├── assets
│ │ │ ├── 236F7B14610353B595358303E1E7023E.png
│ │ │ ├── 53722F0E42FCB9106D88F30EF8B21DCD.png
│ │ │ └── 8081A7A3D78A51469E7C055F1FA59716.png
│ │ └── thumbnail.jpeg
│ ├── 294B63FC-6DE9-4F90-942F-023C1ADA5C26
│ │ ├── 294B63FC-6DE9-4F90-942F-023C1ADA5C26.json
│ │ ├── 294B63FC-6DE9-4F90-942F-023C1ADA5C26.jsonp
│ │ ├── assets
│ │ │ ├── 58D1B98EC40548988C1DC9E6F410ED4A.png
│ │ │ └── 7627875620CEBCCCC05719C708EC66BF.png
│ │ └── thumbnail.jpeg
│ ├── 2FED693E-AFF5-47EB-9814-60111FD5A2CB
│ │ ├── 2FED693E-AFF5-47EB-9814-60111FD5A2CB.json
│ │ ├── 2FED693E-AFF5-47EB-9814-60111FD5A2CB.jsonp
│ │ ├── assets
│ │ │ ├── 60A772525D5E4A5DD3D6710C6636A51B.png
│ │ │ └── 87B5ADF71758EC9246A23DED3F69837E.png
│ │ └── thumbnail.jpeg
│ ├── 3D7B2682-825C-4B09-87F4-96FF11BBEA03
│ │ ├── 3D7B2682-825C-4B09-87F4-96FF11BBEA03.json
│ │ ├── 3D7B2682-825C-4B09-87F4-96FF11BBEA03.jsonp
│ │ ├── assets
│ │ │ ├── 93A3B80C55BE491CC5976343EC6F7E38.png
│ │ │ └── FCF9FFDD0961D1521C71CABFCB0BBAF8.png
│ │ └── thumbnail.jpeg
│ ├── 3FC1684C-094D-477B-8945-F9CB861072F3
│ │ ├── 3FC1684C-094D-477B-8945-F9CB861072F3.json
│ │ ├── 3FC1684C-094D-477B-8945-F9CB861072F3.jsonp
│ │ ├── assets
│ │ │ ├── 1F2CE63D39DDF2663393BB21D21E266F.png
│ │ │ ├── 25E79730E0E70C326736B0751A3DF9E6.png
│ │ │ └── 81F5B1221CC2ADFF1EDB418691EFF26A.png
│ │ └── thumbnail.jpeg
│ ├── 4711CDD9-056D-4D57-B12D-3AB02B1E2433
│ │ ├── 4711CDD9-056D-4D57-B12D-3AB02B1E2433.json
│ │ ├── 4711CDD9-056D-4D57-B12D-3AB02B1E2433.jsonp
│ │ ├── assets
│ │ │ ├── 667E937E9A6462ADCAC23AADE09217BE.png
│ │ │ ├── 77D2749399E063F6ABACEC5812E5FDBD.png
│ │ │ └── 8D3C83A93FF6BADF742283D3F1353973.png
│ │ └── thumbnail.jpeg
│ ├── 475A47B5-4955-43F3-9F20-04AA8B47B2C3
│ │ ├── 475A47B5-4955-43F3-9F20-04AA8B47B2C3.json
│ │ ├── 475A47B5-4955-43F3-9F20-04AA8B47B2C3.jsonp
│ │ ├── assets
│ │ │ ├── 50AE4DD532BB439E3A073FDE39390448.png
│ │ │ ├── 542724EC8BBCAE81902D1CDE0B79B3F5.png
│ │ │ ├── 5431BBE6F15EAA33B4F4E3A6EE941AB9.png
│ │ │ └── 91F3705362B04DC89C22C3EBC2562C8E.png
│ │ └── thumbnail.jpeg
│ ├── 5423221E-8B87-46B0-B02B-AD6E981C8457
│ │ ├── 5423221E-8B87-46B0-B02B-AD6E981C8457.json
│ │ ├── 5423221E-8B87-46B0-B02B-AD6E981C8457.jsonp
│ │ ├── assets
│ │ │ ├── 7D797CCA68BE2F19125C4929439CC841.png
│ │ │ ├── D4538F76BC9A2AE7BDF094D733871423.png
│ │ │ └── D4E24E24F5D3C145DC29A6299E963616.png
│ │ └── thumbnail.jpeg
│ ├── 72499AFC-26FC-4A75-A29C-627B47BE3EC5
│ │ ├── 72499AFC-26FC-4A75-A29C-627B47BE3EC5.json
│ │ ├── 72499AFC-26FC-4A75-A29C-627B47BE3EC5.jsonp
│ │ ├── assets
│ │ │ ├── 25E79730E0E70C326736B0751A3DF9E6.png
│ │ │ ├── 880CEE3DC284107933B252C0592446C3.png
│ │ │ └── FC6A1EB9D34BABD4B9A4570F6C199DFB.png
│ │ └── thumbnail.jpeg
│ ├── 78400D81-7500-4992-975E-D4CF8E8E39C4
│ │ ├── 78400D81-7500-4992-975E-D4CF8E8E39C4.json
│ │ ├── 78400D81-7500-4992-975E-D4CF8E8E39C4.jsonp
│ │ ├── assets
│ │ │ ├── 60A772525D5E4A5DD3D6710C6636A51B.png
│ │ │ ├── 7E3C58AA1DBB41A743E787E0091A2ECB.png
│ │ │ └── D0879CFDF965E00FBD01ACBCDA1A9DB5.png
│ │ └── thumbnail.jpeg
│ ├── 7EDAA3B6-41C4-4CCA-9B8A-795C04FA38AE
│ │ ├── 7EDAA3B6-41C4-4CCA-9B8A-795C04FA38AE.json
│ │ ├── 7EDAA3B6-41C4-4CCA-9B8A-795C04FA38AE.jsonp
│ │ ├── assets
│ │ │ ├── 2E1223C416AEB31AA774E56502F86FF1.png
│ │ │ └── 81F5B1221CC2ADFF1EDB418691EFF26A.png
│ │ └── thumbnail.jpeg
│ ├── 81E4732A-C2A0-455B-994C-32635578F69A
│ │ ├── 81E4732A-C2A0-455B-994C-32635578F69A.json
│ │ ├── 81E4732A-C2A0-455B-994C-32635578F69A.jsonp
│ │ ├── assets
│ │ │ ├── 28681002C688BC60E558CD2526988542.png
│ │ │ ├── 5620F6CA3C021981C66902D61C294B8C.png
│ │ │ └── 7D797CCA68BE2F19125C4929439CC841.png
│ │ └── thumbnail.jpeg
│ ├── 840BADDF-5F03-4277-A79C-32148F3A84C6
│ │ ├── 840BADDF-5F03-4277-A79C-32148F3A84C6.json
│ │ ├── 840BADDF-5F03-4277-A79C-32148F3A84C6.jsonp
│ │ ├── assets
│ │ │ ├── 4B4245C3B14A2CC43A6200913653911F.png
│ │ │ ├── 5620F6CA3C021981C66902D61C294B8C.png
│ │ │ ├── A3545A078E0570CC7D4DDBC3CCD5697A.svg
│ │ │ └── A3545A078E0570CC7D4DDBC3CCD5697A.svgp
│ │ └── thumbnail.jpeg
│ ├── 874A81BF-82FC-4AD6-B21E-3A99D7CD53C9
│ │ ├── 874A81BF-82FC-4AD6-B21E-3A99D7CD53C9.json
│ │ ├── 874A81BF-82FC-4AD6-B21E-3A99D7CD53C9.jsonp
│ │ ├── assets
│ │ │ ├── 0BBA42578D4554F4C83E36F58919E568.png
│ │ │ ├── 8CD4FA6B0F1487E8BA89D2548BE49AD7.svg
│ │ │ ├── 8CD4FA6B0F1487E8BA89D2548BE49AD7.svgp
│ │ │ └── FCF9FFDD0961D1521C71CABFCB0BBAF8.png
│ │ └── thumbnail.jpeg
│ ├── 92EC2160-6368-47CA-95E6-F6899254B6FC
│ │ ├── 92EC2160-6368-47CA-95E6-F6899254B6FC.json
│ │ ├── 92EC2160-6368-47CA-95E6-F6899254B6FC.jsonp
│ │ ├── assets
│ │ │ ├── 4EFCB8F7FFC5A7550F0692E98EC33201.png
│ │ │ ├── 77D2749399E063F6ABACEC5812E5FDBD.png
│ │ │ ├── 97EF59830117493FA6C5E99D0EA8D492.png
│ │ │ ├── C413797BED4CF8C9D58AA3AF1641F7DF.png
│ │ │ └── DD501338E4BAA8FAA2D73C9773C2C0F0.png
│ │ └── thumbnail.jpeg
│ ├── 96DC453D-E03B-4FCA-BE62-F6F9E8335FA0
│ │ ├── 96DC453D-E03B-4FCA-BE62-F6F9E8335FA0.json
│ │ ├── 96DC453D-E03B-4FCA-BE62-F6F9E8335FA0.jsonp
│ │ ├── assets
│ │ │ ├── 1586075BF4E2106EB1DB0D4C9FA90579.png
│ │ │ ├── 642C1551874B99A3F6015A1959F06746.svg
│ │ │ ├── 642C1551874B99A3F6015A1959F06746.svgp
│ │ │ ├── 8CD4FA6B0F1487E8BA89D2548BE49AD7.svg
│ │ │ └── 8CD4FA6B0F1487E8BA89D2548BE49AD7.svgp
│ │ └── thumbnail.jpeg
│ ├── 9C5F6114-2E6C-42A7-A4D4-3243AE5BA6D5
│ │ ├── 9C5F6114-2E6C-42A7-A4D4-3243AE5BA6D5.json
│ │ ├── 9C5F6114-2E6C-42A7-A4D4-3243AE5BA6D5.jsonp
│ │ ├── assets
│ │ │ ├── 56308231EEA2450B4D6252EDE102D604.png
│ │ │ ├── 5BA6DF7ACEF516F7DAB78587CF30CE20.svg
│ │ │ └── 5BA6DF7ACEF516F7DAB78587CF30CE20.svgp
│ │ └── thumbnail.jpeg
│ ├── 9F7472CC-2C2A-46CF-A0E6-6FEFEBEB55F0
│ │ ├── 9F7472CC-2C2A-46CF-A0E6-6FEFEBEB55F0.json
│ │ ├── 9F7472CC-2C2A-46CF-A0E6-6FEFEBEB55F0.jsonp
│ │ ├── assets
│ │ │ ├── 17118A34EFD1CD762B7A40E947045F5E.png
│ │ │ ├── 1D054EE3861C4688811DD1047D81D0C3.png
│ │ │ ├── 8D032FD55FE4A7E271874BE51EB8384C.png
│ │ │ ├── A763805D641E95265825057AC938C5B4.png
│ │ │ └── ABCD05329AF37E7E8C6D2830478A9824.png
│ │ └── thumbnail.jpeg
│ ├── A54C9064-3464-4AF3-AB46-6E5AAD7A69C1
│ │ ├── A54C9064-3464-4AF3-AB46-6E5AAD7A69C1.json
│ │ ├── A54C9064-3464-4AF3-AB46-6E5AAD7A69C1.jsonp
│ │ ├── assets
│ │ │ ├── 7B2ADDE39CECFB8E7F4865E60F05673F.png
│ │ │ ├── 8B174F6C00DE0C3BC6ED636D9FEDABC9.png
│ │ │ ├── 8BFF2195EB4A4CDA217C587C93903997.png
│ │ │ └── ABA72E2F9C95D5C8368AB159132B1A0E.png
│ │ └── thumbnail.jpeg
│ ├── AC1F48D3-20E8-49DF-929B-B4C08312922A
│ │ ├── AC1F48D3-20E8-49DF-929B-B4C08312922A.json
│ │ ├── AC1F48D3-20E8-49DF-929B-B4C08312922A.jsonp
│ │ ├── assets
│ │ │ ├── 171A630E74E2536DAF44E93FBD8275FA.png
│ │ │ ├── 742E1C6E6DAD42CB496804639A24476F.png
│ │ │ └── D4538F76BC9A2AE7BDF094D733871423.png
│ │ └── thumbnail.jpeg
│ ├── AF00B0D3-39D7-4A0B-8287-DDC5EB45A3C6
│ │ ├── AF00B0D3-39D7-4A0B-8287-DDC5EB45A3C6.json
│ │ ├── AF00B0D3-39D7-4A0B-8287-DDC5EB45A3C6.jsonp
│ │ ├── assets
│ │ │ ├── 171A630E74E2536DAF44E93FBD8275FA.png
│ │ │ └── ABCD05329AF37E7E8C6D2830478A9824.png
│ │ └── thumbnail.jpeg
│ ├── C3E33C45-D41F-4CD8-8111-0D3D353A49BE
│ │ ├── C3E33C45-D41F-4CD8-8111-0D3D353A49BE.json
│ │ ├── C3E33C45-D41F-4CD8-8111-0D3D353A49BE.jsonp
│ │ ├── assets
│ │ │ ├── 952AC1E3D080B53438824AAE984C6900.png
│ │ │ └── DB20D269B3009BE1FC05E0A42BEA8F8F.png
│ │ └── thumbnail.jpeg
│ ├── D4E68FB9-A4CF-43EB-9897-5D5C96AAD4A9
│ │ ├── D4E68FB9-A4CF-43EB-9897-5D5C96AAD4A9.json
│ │ ├── D4E68FB9-A4CF-43EB-9897-5D5C96AAD4A9.jsonp
│ │ ├── assets
│ │ │ ├── 542724EC8BBCAE81902D1CDE0B79B3F5.png
│ │ │ └── 58D1B98EC40548988C1DC9E6F410ED4A.png
│ │ └── thumbnail.jpeg
│ ├── D76C260A-690E-4F42-BDEA-1E8B4315337F
│ │ ├── D76C260A-690E-4F42-BDEA-1E8B4315337F.json
│ │ ├── D76C260A-690E-4F42-BDEA-1E8B4315337F.jsonp
│ │ ├── assets
│ │ │ ├── 2E2BE01909F32834B2B03801A95DDA86.png
│ │ │ ├── 31C67BAF977C6E9A3B08F39A02275F48.svg
│ │ │ └── 31C67BAF977C6E9A3B08F39A02275F48.svgp
│ │ └── thumbnail.jpeg
│ ├── D8B3B48D-3208-4E37-BADC-B2CB888588B0
│ │ ├── D8B3B48D-3208-4E37-BADC-B2CB888588B0.json
│ │ ├── D8B3B48D-3208-4E37-BADC-B2CB888588B0.jsonp
│ │ ├── assets
│ │ │ ├── 2E1223C416AEB31AA774E56502F86FF1.png
│ │ │ ├── 31C67BAF977C6E9A3B08F39A02275F48.svg
│ │ │ ├── 31C67BAF977C6E9A3B08F39A02275F48.svgp
│ │ │ └── C56EF58EFA273D12489B83949D83C653.png
│ │ └── thumbnail.jpeg
│ ├── DC59983E-2D2E-4857-BC5E-0A61B2BD7E73
│ │ ├── DC59983E-2D2E-4857-BC5E-0A61B2BD7E73.json
│ │ ├── DC59983E-2D2E-4857-BC5E-0A61B2BD7E73.jsonp
│ │ ├── assets
│ │ │ ├── 711C4D8ABB3079EFA9168C3AED48BD0E.png
│ │ │ ├── 7E3C58AA1DBB41A743E787E0091A2ECB.png
│ │ │ └── DD501338E4BAA8FAA2D73C9773C2C0F0.png
│ │ └── thumbnail.jpeg
│ ├── E807773F-6D4C-4E84-96AB-10C6CDD667A9
│ │ ├── E807773F-6D4C-4E84-96AB-10C6CDD667A9.json
│ │ ├── E807773F-6D4C-4E84-96AB-10C6CDD667A9.jsonp
│ │ ├── assets
│ │ │ ├── 17118A34EFD1CD762B7A40E947045F5E.png
│ │ │ ├── 5431BBE6F15EAA33B4F4E3A6EE941AB9.png
│ │ │ ├── 7CFB7A448D7697E0CB0DD96BE64025DF.png
│ │ │ └── E10B3EC5840AF4F6FDFDC170376A8B2E.png
│ │ └── thumbnail.jpeg
│ ├── EE53DED5-F216-4AAE-8F68-232B0260C34F
│ │ ├── EE53DED5-F216-4AAE-8F68-232B0260C34F.json
│ │ ├── EE53DED5-F216-4AAE-8F68-232B0260C34F.jsonp
│ │ ├── assets
│ │ │ ├── 6823F2BE24A8C025D9A833B9CE1E0141.png
│ │ │ ├── 6DA7BDFEF085F1B09100D86BB912135D.png
│ │ │ ├── 8BFF2195EB4A4CDA217C587C93903997.png
│ │ │ └── 952AC1E3D080B53438824AAE984C6900.png
│ │ └── thumbnail.jpeg
│ ├── FC0DD1C5-062F-4032-A8A1-6BCC39A79D2D
│ │ ├── FC0DD1C5-062F-4032-A8A1-6BCC39A79D2D.json
│ │ ├── FC0DD1C5-062F-4032-A8A1-6BCC39A79D2D.jsonp
│ │ ├── assets
│ │ │ ├── 05B88398B038746895428D1C9BFF1FE4.png
│ │ │ ├── 4C2B7B42DFDF4DA043F4DEA937B18157.png
│ │ │ └── FC6A1EB9D34BABD4B9A4570F6C199DFB.png
│ │ └── thumbnail.jpeg
│ ├── FE7C397F-6778-4E07-8B30-9A68D80D40C8
│ │ ├── FE7C397F-6778-4E07-8B30-9A68D80D40C8.json
│ │ ├── FE7C397F-6778-4E07-8B30-9A68D80D40C8.jsonp
│ │ ├── assets
│ │ │ ├── 236F7B14610353B595358303E1E7023E.png
│ │ │ ├── 7627875620CEBCCCC05719C708EC66BF.png
│ │ │ ├── 7BB9098BDF104E9D533CB22C37680644.png
│ │ │ └── A5EC7D8A732817638C6E1AE68627D0C1.png
│ │ └── thumbnail.jpeg
│ ├── header.json
│ ├── header.jsonp
│ ├── player
│ │ ├── AnimationManager.js
│ │ ├── DebuggingSupport.js
│ │ ├── DisplayManager.js
│ │ ├── Help.png
│ │ ├── HelpPlacardController.js
│ │ ├── KNTransitionSlide_Black.png
│ │ ├── KNTransitionSwoosh_Shadow.png
│ │ ├── KPFObjects.js
│ │ ├── KeynoteDHTMLPlayer.css
│ │ ├── KeynoteDHTMLPlayer.html
│ │ ├── KeynoteDHTMLPlayer.js
│ │ ├── NarrationManager.js
│ │ ├── NavigatorController.js
│ │ ├── OrientationController.js
│ │ ├── ScriptManager.js
│ │ ├── ShowController.js
│ │ ├── SlideManager.js
│ │ ├── SlideNumberController.js
│ │ ├── StageManager.js
│ │ ├── TextureManager.js
│ │ ├── TouchController.js
│ │ ├── Utilities.js
│ │ ├── close_hi@2x.png
│ │ ├── close_n@2x.png
│ │ ├── close_p@2x.png
│ │ ├── left_arrow_mobile_d-hd.png
│ │ ├── left_arrow_mobile_d.png
│ │ ├── left_arrow_mobile_n-hd.png
│ │ ├── left_arrow_mobile_n.png
│ │ ├── prototype.js
│ │ ├── right_arrow_mobile_d-hd.png
│ │ ├── right_arrow_mobile_d.png
│ │ ├── right_arrow_mobile_n-hd.png
│ │ ├── right_arrow_mobile_n.png
│ │ ├── spinner.png
│ │ ├── string.js
│ │ └── waiting_bezel.png
│ └── thumbnail.jpeg
└── index.html
├── transication.html
├── v-class.html
├── v-repeat.html
└── vuejs .pdf
/app.js:
--------------------------------------------------------------------------------
1 | Vue.component('score-star',{
2 | template: "
",
3 | replace: true,
4 | ready:function() {
5 | if(this.$el.hasAttribute('readonly')){
6 | this.readonly=true;
7 | }
8 | if(this.count){
9 | this._setstar(this.count);
10 | }
11 | },
12 | methods:{
13 | _setstar:function(selectedid){
14 | var lis=this.$el.children;
15 | var len=lis.length;
16 | if(selectedid&&selectedid>0){
17 | for(var i=0;i"
8 | ],
9 | "license": "MIT",
10 | "ignore": [
11 | ".*",
12 | "examples",
13 | "test",
14 | "grunt",
15 | "gruntfile.js",
16 | "*.json",
17 | "*.md"
18 | ],
19 | "homepage": "https://github.com/yyx990803/vue",
20 | "_release": "0.11.10",
21 | "_resolution": {
22 | "type": "version",
23 | "tag": "0.11.10",
24 | "commit": "d257c81a5889d45012f6df39873fba3f8697f0cc"
25 | },
26 | "_source": "git://github.com/yyx990803/vue.git",
27 | "_target": "~0.11.10",
28 | "_originalSource": "vue",
29 | "_direct": true
30 | }
--------------------------------------------------------------------------------
/bower_components/vue/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2013-2014 Yuxi Evan You
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in
13 | all copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | THE SOFTWARE.
--------------------------------------------------------------------------------
/bower_components/vue/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vue",
3 | "version": "0.11.10",
4 | "main": "dist/vue.js",
5 | "description": "Simple, Fast & Composable MVVM for building interative interfaces",
6 | "authors": ["Evan You "],
7 | "license": "MIT",
8 | "ignore": [
9 | ".*",
10 | "examples",
11 | "test",
12 | "grunt",
13 | "gruntfile.js",
14 | "*.json",
15 | "*.md"
16 | ]
17 | }
--------------------------------------------------------------------------------
/bower_components/vue/src/api/child.js:
--------------------------------------------------------------------------------
1 | var _ = require('../util')
2 |
3 | /**
4 | * Create a child instance that prototypally inehrits
5 | * data on parent. To achieve that we create an intermediate
6 | * constructor with its prototype pointing to parent.
7 | *
8 | * @param {Object} opts
9 | * @param {Function} [BaseCtor]
10 | * @return {Vue}
11 | * @public
12 | */
13 |
14 | exports.$addChild = function (opts, BaseCtor) {
15 | BaseCtor = BaseCtor || _.Vue
16 | opts = opts || {}
17 | var parent = this
18 | var ChildVue
19 | var inherit = opts.inherit !== undefined
20 | ? opts.inherit
21 | : BaseCtor.options.inherit
22 | if (inherit) {
23 | var ctors = parent._childCtors
24 | ChildVue = ctors[BaseCtor.cid]
25 | if (!ChildVue) {
26 | var optionName = BaseCtor.options.name
27 | var className = optionName
28 | ? _.classify(optionName)
29 | : 'VueComponent'
30 | ChildVue = new Function(
31 | 'return function ' + className + ' (options) {' +
32 | 'this.constructor = ' + className + ';' +
33 | 'this._init(options) }'
34 | )()
35 | ChildVue.options = BaseCtor.options
36 | ChildVue.prototype = this
37 | ctors[BaseCtor.cid] = ChildVue
38 | }
39 | } else {
40 | ChildVue = BaseCtor
41 | }
42 | opts._parent = parent
43 | opts._root = parent.$root
44 | var child = new ChildVue(opts)
45 | return child
46 | }
--------------------------------------------------------------------------------
/bower_components/vue/src/api/global.js:
--------------------------------------------------------------------------------
1 | var _ = require('../util')
2 | var mergeOptions = require('../util/merge-option')
3 |
4 | /**
5 | * Expose useful internals
6 | */
7 |
8 | exports.util = _
9 | exports.nextTick = _.nextTick
10 | exports.config = require('../config')
11 |
12 | exports.compiler = {
13 | compile: require('../compiler/compile'),
14 | transclude: require('../compiler/transclude')
15 | }
16 |
17 | exports.parsers = {
18 | path: require('../parsers/path'),
19 | text: require('../parsers/text'),
20 | template: require('../parsers/template'),
21 | directive: require('../parsers/directive'),
22 | expression: require('../parsers/expression')
23 | }
24 |
25 | /**
26 | * Each instance constructor, including Vue, has a unique
27 | * cid. This enables us to create wrapped "child
28 | * constructors" for prototypal inheritance and cache them.
29 | */
30 |
31 | exports.cid = 0
32 | var cid = 1
33 |
34 | /**
35 | * Class inehritance
36 | *
37 | * @param {Object} extendOptions
38 | */
39 |
40 | exports.extend = function (extendOptions) {
41 | extendOptions = extendOptions || {}
42 | var Super = this
43 | var Sub = createClass(
44 | extendOptions.name ||
45 | Super.options.name ||
46 | 'VueComponent'
47 | )
48 | Sub.prototype = Object.create(Super.prototype)
49 | Sub.prototype.constructor = Sub
50 | Sub.cid = cid++
51 | Sub.options = mergeOptions(
52 | Super.options,
53 | extendOptions
54 | )
55 | Sub['super'] = Super
56 | // allow further extension
57 | Sub.extend = Super.extend
58 | // create asset registers, so extended classes
59 | // can have their private assets too.
60 | createAssetRegisters(Sub)
61 | return Sub
62 | }
63 |
64 | /**
65 | * A function that returns a sub-class constructor with the
66 | * given name. This gives us much nicer output when
67 | * logging instances in the console.
68 | *
69 | * @param {String} name
70 | * @return {Function}
71 | */
72 |
73 | function createClass (name) {
74 | return new Function(
75 | 'return function ' + _.classify(name) +
76 | ' (options) { this._init(options) }'
77 | )()
78 | }
79 |
80 | /**
81 | * Plugin system
82 | *
83 | * @param {Object} plugin
84 | */
85 |
86 | exports.use = function (plugin) {
87 | // additional parameters
88 | var args = _.toArray(arguments, 1)
89 | args.unshift(this)
90 | if (typeof plugin.install === 'function') {
91 | plugin.install.apply(plugin, args)
92 | } else {
93 | plugin.apply(null, args)
94 | }
95 | return this
96 | }
97 |
98 | /**
99 | * Define asset registration methods on a constructor.
100 | *
101 | * @param {Function} Constructor
102 | */
103 |
104 | var assetTypes = [
105 | 'directive',
106 | 'filter',
107 | 'partial',
108 | 'transition'
109 | ]
110 |
111 | function createAssetRegisters (Constructor) {
112 |
113 | /* Asset registration methods share the same signature:
114 | *
115 | * @param {String} id
116 | * @param {*} definition
117 | */
118 |
119 | assetTypes.forEach(function (type) {
120 | Constructor[type] = function (id, definition) {
121 | if (!definition) {
122 | return this.options[type + 's'][id]
123 | } else {
124 | this.options[type + 's'][id] = definition
125 | }
126 | }
127 | })
128 |
129 | /**
130 | * Component registration needs to automatically invoke
131 | * Vue.extend on object values.
132 | *
133 | * @param {String} id
134 | * @param {Object|Function} definition
135 | */
136 |
137 | Constructor.component = function (id, definition) {
138 | if (!definition) {
139 | return this.options.components[id]
140 | } else {
141 | if (_.isPlainObject(definition)) {
142 | definition.name = id
143 | definition = _.Vue.extend(definition)
144 | }
145 | this.options.components[id] = definition
146 | }
147 | }
148 | }
149 |
150 | createAssetRegisters(exports)
--------------------------------------------------------------------------------
/bower_components/vue/src/api/lifecycle.js:
--------------------------------------------------------------------------------
1 | var _ = require('../util')
2 | var compile = require('../compiler/compile')
3 |
4 | /**
5 | * Set instance target element and kick off the compilation
6 | * process. The passed in `el` can be a selector string, an
7 | * existing Element, or a DocumentFragment (for block
8 | * instances).
9 | *
10 | * @param {Element|DocumentFragment|string} el
11 | * @public
12 | */
13 |
14 | exports.$mount = function (el) {
15 | if (this._isCompiled) {
16 | _.warn('$mount() should be called only once.')
17 | return
18 | }
19 | if (!el) {
20 | el = document.createElement('div')
21 | } else if (typeof el === 'string') {
22 | var selector = el
23 | el = document.querySelector(el)
24 | if (!el) {
25 | _.warn('Cannot find element: ' + selector)
26 | return
27 | }
28 | }
29 | this._compile(el)
30 | this._isCompiled = true
31 | this._callHook('compiled')
32 | if (_.inDoc(this.$el)) {
33 | this._callHook('attached')
34 | this._initDOMHooks()
35 | ready.call(this)
36 | } else {
37 | this._initDOMHooks()
38 | this.$once('hook:attached', ready)
39 | }
40 | return this
41 | }
42 |
43 | /**
44 | * Mark an instance as ready.
45 | */
46 |
47 | function ready () {
48 | this._isAttached = true
49 | this._isReady = true
50 | this._callHook('ready')
51 | }
52 |
53 | /**
54 | * Teardown the instance, simply delegate to the internal
55 | * _destroy.
56 | */
57 |
58 | exports.$destroy = function (remove, deferCleanup) {
59 | this._destroy(remove, deferCleanup)
60 | }
61 |
62 | /**
63 | * Partially compile a piece of DOM and return a
64 | * decompile function.
65 | *
66 | * @param {Element|DocumentFragment} el
67 | * @return {Function}
68 | */
69 |
70 | exports.$compile = function (el) {
71 | return compile(el, this.$options, true)(this, el)
72 | }
--------------------------------------------------------------------------------
/bower_components/vue/src/batcher.js:
--------------------------------------------------------------------------------
1 | var _ = require('./util')
2 | var MAX_UPDATE_COUNT = 10
3 |
4 | // we have two separate queues: one for directive updates
5 | // and one for user watcher registered via $watch().
6 | // we want to guarantee directive updates to be called
7 | // before user watchers so that when user watchers are
8 | // triggered, the DOM would have already been in updated
9 | // state.
10 | var queue = []
11 | var userQueue = []
12 | var has = {}
13 | var waiting = false
14 | var flushing = false
15 |
16 | /**
17 | * Reset the batcher's state.
18 | */
19 |
20 | function reset () {
21 | queue = []
22 | userQueue = []
23 | has = {}
24 | waiting = false
25 | flushing = false
26 | }
27 |
28 | /**
29 | * Flush both queues and run the jobs.
30 | */
31 |
32 | function flush () {
33 | flushing = true
34 | run(queue)
35 | run(userQueue)
36 | reset()
37 | }
38 |
39 | /**
40 | * Run the jobs in a single queue.
41 | *
42 | * @param {Array} queue
43 | */
44 |
45 | function run (queue) {
46 | // do not cache length because more jobs might be pushed
47 | // as we run existing jobs
48 | for (var i = 0; i < queue.length; i++) {
49 | queue[i].run()
50 | }
51 | }
52 |
53 | /**
54 | * Push a job into the job queue.
55 | * Jobs with duplicate IDs will be skipped unless it's
56 | * pushed when the queue is being flushed.
57 | *
58 | * @param {Object} job
59 | * properties:
60 | * - {String|Number} id
61 | * - {Function} run
62 | */
63 |
64 | exports.push = function (job) {
65 | var id = job.id
66 | if (!id || !has[id] || flushing) {
67 | if (!has[id]) {
68 | has[id] = 1
69 | } else {
70 | has[id]++
71 | // detect possible infinite update loops
72 | if (has[id] > MAX_UPDATE_COUNT) {
73 | _.warn(
74 | 'You may have an infinite update loop for the ' +
75 | 'watcher with expression: "' + job.expression + '".'
76 | )
77 | return
78 | }
79 | }
80 | // A user watcher callback could trigger another
81 | // directive update during the flushing; at that time
82 | // the directive queue would already have been run, so
83 | // we call that update immediately as it is pushed.
84 | if (flushing && !job.user) {
85 | job.run()
86 | return
87 | }
88 | ;(job.user ? userQueue : queue).push(job)
89 | if (!waiting) {
90 | waiting = true
91 | _.nextTick(flush)
92 | }
93 | }
94 | }
--------------------------------------------------------------------------------
/bower_components/vue/src/cache.js:
--------------------------------------------------------------------------------
1 | /**
2 | * A doubly linked list-based Least Recently Used (LRU)
3 | * cache. Will keep most recently used items while
4 | * discarding least recently used items when its limit is
5 | * reached. This is a bare-bone version of
6 | * Rasmus Andersson's js-lru:
7 | *
8 | * https://github.com/rsms/js-lru
9 | *
10 | * @param {Number} limit
11 | * @constructor
12 | */
13 |
14 | function Cache (limit) {
15 | this.size = 0
16 | this.limit = limit
17 | this.head = this.tail = undefined
18 | this._keymap = {}
19 | }
20 |
21 | var p = Cache.prototype
22 |
23 | /**
24 | * Put into the cache associated with .
25 | * Returns the entry which was removed to make room for
26 | * the new entry. Otherwise undefined is returned.
27 | * (i.e. if there was enough room already).
28 | *
29 | * @param {String} key
30 | * @param {*} value
31 | * @return {Entry|undefined}
32 | */
33 |
34 | p.put = function (key, value) {
35 | var entry = {
36 | key:key,
37 | value:value
38 | }
39 | this._keymap[key] = entry
40 | if (this.tail) {
41 | this.tail.newer = entry
42 | entry.older = this.tail
43 | } else {
44 | this.head = entry
45 | }
46 | this.tail = entry
47 | if (this.size === this.limit) {
48 | return this.shift()
49 | } else {
50 | this.size++
51 | }
52 | }
53 |
54 | /**
55 | * Purge the least recently used (oldest) entry from the
56 | * cache. Returns the removed entry or undefined if the
57 | * cache was empty.
58 | */
59 |
60 | p.shift = function () {
61 | var entry = this.head
62 | if (entry) {
63 | this.head = this.head.newer
64 | this.head.older = undefined
65 | entry.newer = entry.older = undefined
66 | this._keymap[entry.key] = undefined
67 | }
68 | return entry
69 | }
70 |
71 | /**
72 | * Get and register recent use of . Returns the value
73 | * associated with or undefined if not in cache.
74 | *
75 | * @param {String} key
76 | * @param {Boolean} returnEntry
77 | * @return {Entry|*}
78 | */
79 |
80 | p.get = function (key, returnEntry) {
81 | var entry = this._keymap[key]
82 | if (entry === undefined) return
83 | if (entry === this.tail) {
84 | return returnEntry
85 | ? entry
86 | : entry.value
87 | }
88 | // HEAD--------------TAIL
89 | // <.older .newer>
90 | // <--- add direction --
91 | // A B C E
92 | if (entry.newer) {
93 | if (entry === this.head) {
94 | this.head = entry.newer
95 | }
96 | entry.newer.older = entry.older // C <-- E.
97 | }
98 | if (entry.older) {
99 | entry.older.newer = entry.newer // C. --> E
100 | }
101 | entry.newer = undefined // D --x
102 | entry.older = this.tail // D. --> E
103 | if (this.tail) {
104 | this.tail.newer = entry // E. <-- D
105 | }
106 | this.tail = entry
107 | return returnEntry
108 | ? entry
109 | : entry.value
110 | }
111 |
112 | module.exports = Cache
--------------------------------------------------------------------------------
/bower_components/vue/src/config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 |
3 | /**
4 | * The prefix to look for when parsing directives.
5 | *
6 | * @type {String}
7 | */
8 |
9 | prefix: 'v-',
10 |
11 | /**
12 | * Whether to print debug messages.
13 | * Also enables stack trace for warnings.
14 | *
15 | * @type {Boolean}
16 | */
17 |
18 | debug: false,
19 |
20 | /**
21 | * Whether to suppress warnings.
22 | *
23 | * @type {Boolean}
24 | */
25 |
26 | silent: false,
27 |
28 | /**
29 | * Whether allow observer to alter data objects'
30 | * __proto__.
31 | *
32 | * @type {Boolean}
33 | */
34 |
35 | proto: true,
36 |
37 | /**
38 | * Whether to parse mustache tags in templates.
39 | *
40 | * @type {Boolean}
41 | */
42 |
43 | interpolate: true,
44 |
45 | /**
46 | * Whether to use async rendering.
47 | */
48 |
49 | async: true,
50 |
51 | /**
52 | * Whether to warn against errors caught when evaluating
53 | * expressions.
54 | */
55 |
56 | warnExpressionErrors: true,
57 |
58 | /**
59 | * Internal flag to indicate the delimiters have been
60 | * changed.
61 | *
62 | * @type {Boolean}
63 | */
64 |
65 | _delimitersChanged: true
66 |
67 | }
68 |
69 | /**
70 | * Interpolation delimiters.
71 | * We need to mark the changed flag so that the text parser
72 | * knows it needs to recompile the regex.
73 | *
74 | * @type {Array}
75 | */
76 |
77 | var delimiters = ['{{', '}}']
78 | Object.defineProperty(module.exports, 'delimiters', {
79 | get: function () {
80 | return delimiters
81 | },
82 | set: function (val) {
83 | delimiters = val
84 | this._delimitersChanged = true
85 | }
86 | })
--------------------------------------------------------------------------------
/bower_components/vue/src/directives/attr.js:
--------------------------------------------------------------------------------
1 | // xlink
2 | var xlinkNS = 'http://www.w3.org/1999/xlink'
3 | var xlinkRE = /^xlink:/
4 |
5 | module.exports = {
6 |
7 | priority: 850,
8 |
9 | bind: function () {
10 | var name = this.arg
11 | this.update = xlinkRE.test(name)
12 | ? xlinkHandler
13 | : defaultHandler
14 | }
15 |
16 | }
17 |
18 | function defaultHandler (value) {
19 | if (value || value === 0) {
20 | this.el.setAttribute(this.arg, value)
21 | } else {
22 | this.el.removeAttribute(this.arg)
23 | }
24 | }
25 |
26 | function xlinkHandler (value) {
27 | if (value != null) {
28 | this.el.setAttributeNS(xlinkNS, this.arg, value)
29 | } else {
30 | this.el.removeAttributeNS(xlinkNS, 'href')
31 | }
32 | }
--------------------------------------------------------------------------------
/bower_components/vue/src/directives/class.js:
--------------------------------------------------------------------------------
1 | var _ = require('../util')
2 | var addClass = _.addClass
3 | var removeClass = _.removeClass
4 |
5 | module.exports = function (value) {
6 | if (this.arg) {
7 | var method = value ? addClass : removeClass
8 | method(this.el, this.arg)
9 | } else {
10 | if (this.lastVal) {
11 | removeClass(this.el, this.lastVal)
12 | }
13 | if (value) {
14 | addClass(this.el, value)
15 | this.lastVal = value
16 | }
17 | }
18 | }
--------------------------------------------------------------------------------
/bower_components/vue/src/directives/cloak.js:
--------------------------------------------------------------------------------
1 | var config = require('../config')
2 |
3 | module.exports = {
4 |
5 | bind: function () {
6 | var el = this.el
7 | this.vm.$once('hook:compiled', function () {
8 | el.removeAttribute(config.prefix + 'cloak')
9 | })
10 | }
11 |
12 | }
--------------------------------------------------------------------------------
/bower_components/vue/src/directives/el.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 |
3 | isLiteral: true,
4 |
5 | bind: function () {
6 | this.vm.$$[this.expression] = this.el
7 | },
8 |
9 | unbind: function () {
10 | delete this.vm.$$[this.expression]
11 | }
12 |
13 | }
--------------------------------------------------------------------------------
/bower_components/vue/src/directives/events.js:
--------------------------------------------------------------------------------
1 | var _ = require('../util')
2 |
3 | module.exports = {
4 |
5 | acceptStatement: true,
6 |
7 | bind: function () {
8 | var child = this.el.__vue__
9 | if (!child || this.vm !== child.$parent) {
10 | _.warn(
11 | '`v-events` should only be used on a child component ' +
12 | 'from the parent template.'
13 | )
14 | return
15 | }
16 | },
17 |
18 | update: function (handler, oldHandler) {
19 | if (typeof handler !== 'function') {
20 | _.warn(
21 | 'Directive "v-events:' + this.expression + '" ' +
22 | 'expects a function value.'
23 | )
24 | return
25 | }
26 | var child = this.el.__vue__
27 | if (oldHandler) {
28 | child.$off(this.arg, oldHandler)
29 | }
30 | child.$on(this.arg, handler)
31 | }
32 |
33 | // when child is destroyed, all events are turned off,
34 | // so no need for unbind here.
35 |
36 | }
--------------------------------------------------------------------------------
/bower_components/vue/src/directives/html.js:
--------------------------------------------------------------------------------
1 | var _ = require('../util')
2 | var templateParser = require('../parsers/template')
3 |
4 | module.exports = {
5 |
6 | bind: function () {
7 | // a comment node means this is a binding for
8 | // {{{ inline unescaped html }}}
9 | if (this.el.nodeType === 8) {
10 | // hold nodes
11 | this.nodes = []
12 | }
13 | },
14 |
15 | update: function (value) {
16 | value = _.toString(value)
17 | if (this.nodes) {
18 | this.swap(value)
19 | } else {
20 | this.el.innerHTML = value
21 | }
22 | },
23 |
24 | swap: function (value) {
25 | // remove old nodes
26 | var i = this.nodes.length
27 | while (i--) {
28 | _.remove(this.nodes[i])
29 | }
30 | // convert new value to a fragment
31 | // do not attempt to retrieve from id selector
32 | var frag = templateParser.parse(value, true, true)
33 | // save a reference to these nodes so we can remove later
34 | this.nodes = _.toArray(frag.childNodes)
35 | _.before(frag, this.el)
36 | }
37 |
38 | }
--------------------------------------------------------------------------------
/bower_components/vue/src/directives/if.js:
--------------------------------------------------------------------------------
1 | var _ = require('../util')
2 | var compile = require('../compiler/compile')
3 | var templateParser = require('../parsers/template')
4 | var transition = require('../transition')
5 |
6 | module.exports = {
7 |
8 | bind: function () {
9 | var el = this.el
10 | if (!el.__vue__) {
11 | this.start = document.createComment('v-if-start')
12 | this.end = document.createComment('v-if-end')
13 | _.replace(el, this.end)
14 | _.before(this.start, this.end)
15 | if (el.tagName === 'TEMPLATE') {
16 | this.template = templateParser.parse(el, true)
17 | } else {
18 | this.template = document.createDocumentFragment()
19 | this.template.appendChild(templateParser.clone(el))
20 | }
21 | // compile the nested partial
22 | this.linker = compile(
23 | this.template,
24 | this.vm.$options,
25 | true
26 | )
27 | } else {
28 | this.invalid = true
29 | _.warn(
30 | 'v-if="' + this.expression + '" cannot be ' +
31 | 'used on an already mounted instance.'
32 | )
33 | }
34 | },
35 |
36 | update: function (value) {
37 | if (this.invalid) return
38 | if (value) {
39 | // avoid duplicate compiles, since update() can be
40 | // called with different truthy values
41 | if (!this.unlink) {
42 | var frag = templateParser.clone(this.template)
43 | this.compile(frag)
44 | }
45 | } else {
46 | this.teardown()
47 | }
48 | },
49 |
50 | // NOTE: this function is shared in v-partial
51 | compile: function (frag) {
52 | var vm = this.vm
53 | // the linker is not guaranteed to be present because
54 | // this function might get called by v-partial
55 | this.unlink = this.linker
56 | ? this.linker(vm, frag)
57 | : vm.$compile(frag)
58 | transition.blockAppend(frag, this.end, vm)
59 | // call attached for all the child components created
60 | // during the compilation
61 | if (_.inDoc(vm.$el)) {
62 | var children = this.getContainedComponents()
63 | if (children) children.forEach(callAttach)
64 | }
65 | },
66 |
67 | // NOTE: this function is shared in v-partial
68 | teardown: function () {
69 | if (!this.unlink) return
70 | // collect children beforehand
71 | var children
72 | if (_.inDoc(this.vm.$el)) {
73 | children = this.getContainedComponents()
74 | }
75 | transition.blockRemove(this.start, this.end, this.vm)
76 | if (children) children.forEach(callDetach)
77 | this.unlink()
78 | this.unlink = null
79 | },
80 |
81 | // NOTE: this function is shared in v-partial
82 | getContainedComponents: function () {
83 | var vm = this.vm
84 | var start = this.start.nextSibling
85 | var end = this.end
86 | var selfCompoents =
87 | vm._children.length &&
88 | vm._children.filter(contains)
89 | var transComponents =
90 | vm._transCpnts &&
91 | vm._transCpnts.filter(contains)
92 |
93 | function contains (c) {
94 | var cur = start
95 | var next
96 | while (next !== end) {
97 | next = cur.nextSibling
98 | if (cur.contains(c.$el)) {
99 | return true
100 | }
101 | cur = next
102 | }
103 | return false
104 | }
105 |
106 | return selfCompoents
107 | ? transComponents
108 | ? selfCompoents.concat(transComponents)
109 | : selfCompoents
110 | : transComponents
111 | },
112 |
113 | // NOTE: this function is shared in v-partial
114 | unbind: function () {
115 | if (this.unlink) this.unlink()
116 | }
117 |
118 | }
119 |
120 | function callAttach (child) {
121 | if (!child._isAttached) {
122 | child._callHook('attached')
123 | }
124 | }
125 |
126 | function callDetach (child) {
127 | if (child._isAttached) {
128 | child._callHook('detached')
129 | }
130 | }
--------------------------------------------------------------------------------
/bower_components/vue/src/directives/index.js:
--------------------------------------------------------------------------------
1 | // manipulation directives
2 | exports.text = require('./text')
3 | exports.html = require('./html')
4 | exports.attr = require('./attr')
5 | exports.show = require('./show')
6 | exports['class'] = require('./class')
7 | exports.el = require('./el')
8 | exports.ref = require('./ref')
9 | exports.cloak = require('./cloak')
10 | exports.style = require('./style')
11 | exports.partial = require('./partial')
12 | exports.transition = require('./transition')
13 |
14 | // event listener directives
15 | exports.on = require('./on')
16 | exports.model = require('./model')
17 |
18 | // child vm directives
19 | exports.component = require('./component')
20 | exports.repeat = require('./repeat')
21 | exports['if'] = require('./if')
22 |
23 | // child vm communication directives
24 | exports['with'] = require('./with')
25 | exports.events = require('./events')
--------------------------------------------------------------------------------
/bower_components/vue/src/directives/model/checkbox.js:
--------------------------------------------------------------------------------
1 | var _ = require('../../util')
2 |
3 | module.exports = {
4 |
5 | bind: function () {
6 | var self = this
7 | var el = this.el
8 | this.listener = function () {
9 | self.set(el.checked, true)
10 | }
11 | _.on(el, 'change', this.listener)
12 | if (el.checked) {
13 | this._initValue = el.checked
14 | }
15 | },
16 |
17 | update: function (value) {
18 | this.el.checked = !!value
19 | },
20 |
21 | unbind: function () {
22 | _.off(this.el, 'change', this.listener)
23 | }
24 |
25 | }
--------------------------------------------------------------------------------
/bower_components/vue/src/directives/model/index.js:
--------------------------------------------------------------------------------
1 | var _ = require('../../util')
2 |
3 | var handlers = {
4 | _default: require('./default'),
5 | radio: require('./radio'),
6 | select: require('./select'),
7 | checkbox: require('./checkbox')
8 | }
9 |
10 | module.exports = {
11 |
12 | priority: 800,
13 | twoWay: true,
14 | handlers: handlers,
15 |
16 | /**
17 | * Possible elements:
18 | *