No More Posting New Topics!

If you have a question or an issue, please start a thread in our Github Discussions Forum.
This forum is closed for new threads/ topics.

Navigation

    Quasar Framework

    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    1. Home
    2. murrah
    3. Best
    M
    • Profile
    • Following 0
    • Followers 0
    • Topics 8
    • Posts 24
    • Best 3
    • Groups 0

    Best posts made by murrah

    • RE: Auto generate a build number in SPA

      @Hawkeye64 Cool, thanks! That certainly takes it to another level. 🙂

      posted in Help
      M
      murrah
    • RE: [Solved] Tree filter: how to filter the tree from a button click in addition to search text

      So, I want to filter the tree by both a Search input box and / or a value passed by a button click that represents a status property on the leaf nodes. (Actually, there are 5 such buttons, each representing a different status, but for simplicity’s sake we pretend there is just one status value.)

      This is the stripped-down solution.

      <!-- The search input box -->
      <q-input
        v-model="searchBox"
        label="Filter"
      ></q-input>
      
      <!-- The button to filter where node status = 1 -->
      <q-button @click="onClickStatus(1)">
        Status 1
      </q-button>
      
      <!-- The tree -->
      <q-tree
        ref="projectTree"
        :filter="filterTrigger"
        :filter-method="customFilterMethod"
       ....
      ></q-tree>
      
      export default {
        data () {
          return {
            searchBox: '',
            filterTrigger: 'true',
            statusFilter: ''
            ....
          }
        },
      
        watch: {
          // Whenever the searchBox property changes, 
          // use it to trigger the tree filter's reactivity
          // by assigning its value to the 
          // filterTrigger property. 
          // Actually, the value we assign here is irrelevant.
          searchBox: function (newVal, oldVal) {
            this.filterTrigger = newVal
          }
        },
      
        methods: {
          onClickStatus (statusId) {
            // This method is more complicated than this in reality,
            // but basically we track which of the 5 status' were clicked
            this.statusFilter = statusId
          },
      
          customFilterMethod (node, filterTrigger) {
            // The filterTrigger param is ignored in here.
      
            // Instead, we use the contents of the search box input ...
            const searchBoxText = this.searchBox.toLowerCase()
      
            const matchedNodeLabel = (node.label && node.label.toLowerCase().indexOf(searchBoxText) > -1)
      
            // And any status button that was clicked ....
            let matchedStatus = true
      
            if (this.statusFilter !== '') {
              // if the node status is in the list of filters, match it
              // Very simplified example code:
              matchedStatus = (this.statusFilter.indexOf(node.status) > -1)
            }
      
            // In our context we always AND the filters
            return (matchedNodeLabel && matchedStatus)
          }
        }
      }
      

      Now, if there is something typed into the search box, or if a status button is clicked, either or both of those values will be used to filter the tree nodes. Yay! 🙂

      posted in Framework
      M
      murrah
    • RE: [Solved] How to get a table to scroll its rows within a tab panel?

      @metalsadman
      Wow! That’s awesome. Thank you. 🙂
      I already had the sticky header but left it out of my example to keep it simple. I thought the issue of the sizing was with flex but clearly I was wasting time trying to make that happen! Much appreciated.
      Go well,
      Murray

      posted in Help
      M
      murrah