Advertisement
Guest User

Untitled

a guest
Mar 3rd, 2019
341
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <template>
  2.     <div>
  3.         <b-row>
  4.             <b-col md="3" sm="auto">
  5.                 <b-card>
  6.                     <b-card-body>
  7.                         <h4>Filter Sites</h4>
  8.                         <!-- Selected: <strong>{{ selected }}</strong><br /> -->
  9.                         <p>You may select multiple sites.</p>
  10.                             <b-form-group label="">
  11.                             <b-form-checkbox-group />
  12.                             <b-form-checkbox
  13.                                 v-model="allSelected"
  14.                                 :indeterminate="indeterminate"
  15.                                 @change="toggleAll"
  16.                                 >
  17.                                 {{ allSelected ? 'Un-select All' : 'Select All' }}
  18.                                 </b-form-checkbox>
  19.                                 <b-form-checkbox v-model="selected" v-for="site in sites" :value="site" :key="site.site">{{ site.site + ' - ' + site.name }}</b-form-checkbox>
  20.                             </b-form-group>
  21.                     </b-card-body>
  22.                 </b-card>
  23.             </b-col>
  24.             <b-col md="8" sm="auto">
  25.                 <b-card>
  26.                     <b-card-body>
  27.                         <div class="pull-right" style="display: inline;">
  28.                             <b-button v-b-modal.price-change variant="primary"><i class="fa fa-dollar"></i> Change Price</b-button>
  29.                         </div>
  30.                         <h4>Current Fuel Prices</h4>
  31.                         <p>Prices are displayed in cents per liter (CPL)</p>
  32.                         {{ filteredSite }}
  33.                         <b-table striped hover :items="filteredSite" :fields="fields" />
  34.                     </b-card-body>
  35.                 </b-card>
  36.             </b-col>
  37.         </b-row>
  38.         <!-- Price Change Component -->
  39.         <b-modal id="price-change" size="lg" title="Price Change">
  40.            
  41.             <b-row>
  42.             <b-col cols="4">
  43.                 <b-card>
  44.                     <b-card-body>
  45.                         <h4>Select Site</h4>
  46.                             <b-form-group label="">
  47.                             <b-form-checkbox-group />
  48.                             <b-form-checkbox
  49.                                 v-model="allSelected"
  50.                                 :indeterminate="indeterminate"
  51.                                 @change="toggleAll"
  52.                                 >
  53.                                 {{ allSelected ? 'Un-select All' : 'Select All' }}
  54.                                 </b-form-checkbox>
  55.                                 <b-form-checkbox v-model="selected" v-for="site in sites" :value="site" :key="site.site">{{ site.site + ' - ' + site.name }}</b-form-checkbox>
  56.                             </b-form-group>
  57.                     </b-card-body>
  58.                 </b-card>
  59.             </b-col>
  60.             <b-col cols="8">
  61.                 <div>
  62.                     <b-card no-body v-model="selected">
  63.                         <b-tabs pills card vertical>
  64.                             <b-tab title="ULP" active id="tab-ulp">
  65.                                 <b-form-group>
  66.  
  67.                                 </b-form-group>
  68.                             </b-tab>
  69.                             <b-tab title="PULP" disabled id="tab-pulp">
  70.                                 <b-form-group>
  71.  
  72.                                 </b-form-group>
  73.                             </b-tab>
  74.                             <b-tab title="PULP98" id="tab-pulp98">
  75.                                 <b-form-group>
  76.  
  77.                                 </b-form-group>
  78.                             </b-tab>
  79.                             <b-tab title="DIESEL" id="tab-diesel">
  80.                                 <b-form-group>
  81.  
  82.                                 </b-form-group>
  83.                             </b-tab>
  84.                             <b-tab title="E10" id="tab-e10">
  85.                                 <b-form-group>
  86.  
  87.                                 </b-form-group>
  88.                             </b-tab>
  89.                             <b-tab title="LPG" id="tab-lpg">
  90.                                 <b-form-group>
  91.  
  92.                                 </b-form-group>
  93.                             </b-tab>
  94.                         </b-tabs>
  95.                     </b-card>
  96.                 </div>
  97.             </b-col>
  98.             </b-row>
  99.         </b-modal>
  100.     </div>
  101. </template>
  102.  
  103. <script>
  104. export default {
  105.     name: 'fuel-prices',
  106.     data () {
  107.         return {
  108.             selected: [],
  109.             indeterminate: false,
  110.             fields: [
  111.                 'site',
  112.                 'grade',
  113.                 'cpl'
  114.             ],
  115.             items: [
  116.                 {
  117.                     site: 2,
  118.                     grade: ULP,
  119.                     cpl: 100.1
  120.                 },
  121.                 {
  122.                     site: 3,
  123.                     grade: PULP,
  124.                     cpl: 112.4
  125.                 }
  126.             ],
  127.             sites: [
  128.                 {
  129.                     site: 2,
  130.                     name: 'Melbourne'
  131.                 },
  132.                 {
  133.                     site: 3,
  134.                     name: 'Brisbane'
  135.                 }
  136.             ]
  137.         }
  138.     },
  139.     computed: {
  140.         filteredSite() {
  141.             if (!this.selected.length)
  142.                 return this.items
  143.  
  144.             return this.items.filter(item => this.selected.includes(item.site))
  145.         }
  146.     },
  147.     methods: {
  148.       toggleAll(checked) {
  149.         this.selected = checked ? this.sites.slice() : []
  150.       }
  151.     },
  152.     watch: {
  153.       selected(newVal, oldVal) {
  154.         // Handle changes in individual site checkboxes
  155.         if (newVal.length === 0) {
  156.           this.indeterminate = false
  157.           this.allSelected = false
  158.         } else if (newVal.length === this.sites.length) {
  159.           this.indeterminate = false
  160.           this.allSelected = true
  161.         } else {
  162.           this.indeterminate = true
  163.           this.allSelected = false
  164.         }
  165.       }
  166.     }
  167. }
  168. </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement