Add collapsible text component

This commit is contained in:
Montana 2019-06-03 10:32:36 -04:00
parent ffa1163083
commit 14a179a239
4 changed files with 31 additions and 3 deletions

View File

@ -0,0 +1,15 @@
export default {
name: 'semi-collapsible-text',
data: function() {
return {
open: false,
}
},
methods: {
toggle: function() {
this.open = !this.open
},
},
}

View File

@ -40,6 +40,7 @@ import BaseForm from './components/forms/base_form'
import DeleteConfirmation from './components/delete_confirmation'
import NewEnvironment from './components/forms/new_environment'
import EnvironmentRole from './components/environment_role'
import SemiCollapsibleText from './components/semi_collapsible_text'
Vue.config.productionTip = false
@ -82,6 +83,7 @@ const app = new Vue({
nestedcheckboxinput,
NewEnvironment,
EnvironmentRole,
SemiCollapsibleText,
},
mounted: function() {

View File

@ -92,6 +92,11 @@
background-color: $color-gray-lightest;
}
.semi-collapsed {
overflow: hidden;
height: $gap * 5.5;
}
.panel {
@include shadow-panel;
}

View File

@ -11,9 +11,15 @@
<div class="task-order-summary">
<div class="h2">Portfolio Name</div>
<div>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</div>
<semi-collapsible-text inline-template>
<div>
<div v-bind:class="{ 'semi-collapsed' : !open }">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</div>
<a v-on:click='toggle' v-show="!open" class="right">More{{ Icon('caret_down') }}</a>
<a v-on:click='toggle' v-show="open" class="right">Less{{ Icon('caret_up') }}</a>
</div>
</semi-collapsible-text>
<hr>