diff --git a/resources/assets/vue/app.js b/resources/assets/vue/app.js index 192f9fb6..1d98d12d 100644 --- a/resources/assets/vue/app.js +++ b/resources/assets/vue/app.js @@ -14,6 +14,8 @@ import vuelidate from 'vuelidate'; /** Input Mask **/ import VueTheMask from 'vue-the-mask'; +/** Vue Filter **/ +import filters from './general/filters'; /** Mixins */ import request from './general/mixins/request'; @@ -27,6 +29,8 @@ import Avatar from 'vue-avatar'; /** Application Injections */ Vue.use(vuelidate); Vue.use(VueTheMask); +Vue.use(filters); + Vue.directive('closable', closable); Vue.mixin({ methods: { diff --git a/resources/assets/vue/general/filters/index.js b/resources/assets/vue/general/filters/index.js new file mode 100644 index 00000000..37be02fa --- /dev/null +++ b/resources/assets/vue/general/filters/index.js @@ -0,0 +1,7 @@ +import truncate from "./truncate"; + +export default { + install(Vue) { + Vue.filter("truncate", truncate); + } +}; diff --git a/resources/assets/vue/general/filters/truncate.js b/resources/assets/vue/general/filters/truncate.js new file mode 100644 index 00000000..db81e9b0 --- /dev/null +++ b/resources/assets/vue/general/filters/truncate.js @@ -0,0 +1,3 @@ +export default function truncate (text, stop, clamp) { + return text.slice(0, stop) + (stop < text.length ? clamp || '...' : '') +} \ No newline at end of file