2
0
mirror of https://github.com/tenrok/vue-meta.git synced 2026-05-24 00:24:05 +03:00
Commit Graph

94 Commits

Author SHA1 Message Date
Pim 8f441899ef docs: update docs with new features (#416) 2019-07-24 16:06:50 +02:00
Pim 51fe6ea6f8 feat: support json content (without disabling sanitizers) (#415)
* feat: add json prop to bypass sanitizers

* chore: fix lint

* feat: escape keys as well

test: fix json escaping

* add escapeKeys into escapeOptions
2019-07-24 14:11:13 +02:00
Pim fc71e1f1c4 feat: enable onload callbacks (#414)
* refactor(examples): run ssr example from server

* chore: switch to babel for build

buble complains too much

* feat: enable loaded callbacks

feat: add skip option

* examples: add async-callback browser example

* examples: fix server

* examples(ssr): add reactive script with callback

* fix: also skip on ssr

* chore: remove unused var

* feat: only add mutationobserver if DOM is still loading

feat: disconnect mutation observer once DOM has loaded

* examples: pass vmid to loadCallback instead of el

* feat: also support load callbacks for link/style tags

* test: add unit tests for load

* test: add load e2e test

* chore: fix lint

* chore: remove unused files

* test: fix e2e load callback test

* test: fix attempt

* examples: ie9 compatiblity

destructuring doesnt work in ie9

* fix: add onload attribute on ssr

dont rely on mutationobserver

* chore: lint ci conf

* refactor: remove loadCallbackAttribute config option

test: fix coverage for load

* test: improve coverage

* fix: only use console when it exists (for ie9)

* chore: fix coverage
2019-07-24 10:18:40 +02:00
Pim 05163a77a8 feat: add option for prepending (no)script to body (#410)
* feat: add option for prepending (no)script to body

* test: use browser getUrl

* refactor: use pbody insteadn of pody

* test: add prepend/append body generator test

* test: add prepend body updater test

* chore: remove typo
2019-07-17 22:26:33 +02:00
pimlie b0c85e5301 feat: make ssr app id configurable 2019-07-16 10:04:17 +02:00
pimlie 9cf6d323db feat: auto add ssrAttribute to htmlAttrs 2019-07-16 09:34:50 +02:00
Louis-Marie Michelin 39ef28752b fix: don't generate <title> tag if metaInfo.title is null or false (#409) 2019-07-16 09:32:07 +02:00
pimlie 8c35863ebf test: update browser config 2019-07-13 20:19:40 +02:00
pimlie 56f6577e25 chore: fix lint 2019-07-11 21:43:05 +02:00
pimlie 1d9072a3af fix: only show boolean attrs with truthy value 2019-07-11 20:56:34 +02:00
pimlie 24d7feea7f test: enable all getMetaInfo tests again 2019-06-22 17:03:05 +02:00
pimlie bfeab1754e fix: add warning for v1 boolean attribute syntax 2019-06-22 16:59:23 +02:00
pimlie 90f9710f26 fix: dont change title when value is undefined (fix #396) 2019-06-22 16:15:49 +02:00
pimlie ecd725dd58 fix: $meta can be called server side before app is initiated 2019-06-11 16:15:29 +02:00
pimlie 8ab63b4451 test: prevent plugin install twice 2019-06-09 20:44:42 +02:00
pimlie fc5799859b test: fix ssr hydration tests 2019-06-09 14:05:54 +02:00
pimlie b2a7a8449b Revert "fix: set ssr appId in mounted hook"
This reverts commit 2dd1697ead.
2019-06-09 13:54:15 +02:00
pimlie 2dd1697ead fix: set ssr appId in mounted hook
vm. is not yet set in beforeMount
2019-06-09 12:22:18 +02:00
pimlie eb4980c9de fix: use empty string value for boolean attributes on client side (fixes #381) 2019-06-07 09:58:32 +02:00
Pim 024e7c5a62 feat: add basic support for multiple apps on one page (#373)
* feat: add an appId to tags to support multiple apps

* feat: show warning on calling () on non-vuemeta components

* feat: always use appId ssr for server-generated apps

* test: update tests for appId

* chore: update circleci to only run audit for dependencies

* fix: dont set data-vue-meta attribute on title

it has no use on the client as we use document.title there. Which also means the appId listed would be wrong once the title is updated by another app then the ssr app

* chore: remove unused import

* chore: improve not supported message
2019-06-06 10:40:15 +02:00
Pim 34c6ad957d fix: detect and apply changes triggered before or during initialization (#377) 2019-06-06 10:01:11 +02:00
pimlie c040de7be7 fix: use timers instead of requestAnimationFrame
The issue with using requestAnimationFrame is that its meant to be used for visual effects. Therefore when a tab is hidden the browser might decide to not perform animation frame updates until the tab becomes visible, this is confirmed behaviour for Firefox. Due to this title updates would not be triggered while document titles are normally visible in the tabs title. For now we batch updates by setting/clearing timeouts with a 10ms interval

Resolves: #313
2019-04-23 10:58:34 +02:00
pimlie e80643b1a8 fix: move addNavGuards check to mounted hook
The addNavGuards check adds the navigation guards when an afterNavigation callback is defined but refreshOnceOnNavigation was not set. As the afterNavigation callback is defined in metaInfo which can be dependent on user data we need to wait until all components are fully mounted before checking if a afterNavigation callback was defined

Fixes: #348
2019-04-23 09:30:38 +02:00
pimlie d6b865109f chore: update build header 2019-04-20 11:50:08 +02:00
pimlie 717c30303f test: add e2e tests 2019-03-23 16:00:30 +01:00
pimlie d38f81e0a9 fix: implement simply array polyfills (fixes #328) 2019-03-12 10:03:46 +01:00
pimlie 7cf4efd290 test: add nav-guard tests for refresOnce false 2019-03-12 10:03:46 +01:00
pimlie d717dbf4e1 fix: dont use object.assign/spread
so we dont need a polyfill
2019-03-12 10:03:46 +01:00
pimlie 1c74f9fe57 chore: fix lint 2019-03-12 10:03:46 +01:00
pimlie 214f52ebe8 test: clean e2e build folder before test 2019-03-12 10:03:46 +01:00
pimlie 6405724881 refactor: move utils to utils folder 2019-03-12 10:03:46 +01:00
pimlie 4a8f9753e0 fix: afterNavigation logic (its never set in options) 2019-03-12 10:03:46 +01:00
pimlie 419951c59f refactor: combine meta helpers 2019-03-12 10:03:46 +01:00
pimlie 2b24acc8b2 refactor: set defaultOptions in shared/constants 2019-03-12 10:03:46 +01:00
pimlie 5cbb5bdc52 refactor: use forEach not map 2019-03-12 10:03:46 +01:00
pimlie 05b8891110 test: add e2e tests
fix: boolean attributes client side
2019-03-12 10:03:46 +01:00
pimlie f490a48b99 refactor: small improvements (mainly tests) 2019-03-12 10:03:46 +01:00
pimlie 5f8025e126 test: increase coverage, add missing tests
fix: issues discovered by adding missing tests
2019-03-12 10:03:46 +01:00
pimlie ce7eaf56d3 test: add missing test for sanitizeByTagId
fix: broken sanitizeByTagId implementation
2019-03-12 10:03:46 +01:00
pimlie c9a732c9d7 test: add generator/updater test for array attributes 2019-03-12 10:03:46 +01:00
pimlie 01edc8c242 feat: attr keys can have array values (resolves #231) 2019-03-12 10:03:46 +01:00
pimlie 104113a7b8 fix: use undefined as child ignore indicator 2019-03-12 10:03:46 +01:00
pimlie 915fedfb7f feat: child can indicate parent vmid to be removed (resolves: #288) 2019-03-12 10:03:46 +01:00
pimlie 22e456cbe2 feat: child can indicate its content should be ignored (resolves: #204) 2019-03-12 10:03:46 +01:00
pimlie 6bea7f45f4 test: fix escape test as we only escape keys which are used in html 2019-03-12 10:03:46 +01:00
pimlie 7615f4120c fix: ignore data when its not an object (fixes: #253, #279, #297) 2019-03-12 10:03:46 +01:00
pimlie 23c3380c90 refactor: optimize getComponentOption by making it less generic 2019-03-12 10:03:46 +01:00
pimlie 31e975d312 feat: add getOptions method (resolves: #215) 2019-03-12 10:03:46 +01:00
pimlie 97badf61cb feat: add afterNavigation callback (fix: #259) 2019-03-05 15:11:25 +01:00
pimlie 173b31d1d7 feat: export hasMetaInfo helper function 2019-03-05 14:17:28 +01:00