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

28 Commits

Author SHA1 Message Date
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 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
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 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 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 05b8891110 test: add e2e tests
fix: boolean attributes client side
2019-03-12 10:03:46 +01:00