Meet Our Dogs (2024)

Meet Our Dogs (1)

Adoptable Dogs

It is helpful to come with a few dogs in mind but, we will pair you with the perfect furry companion when you visit our campus. Please come open-minded as your dream pet may look different than you originally thought! If you are looking at a dog that is currently in foster, please let us know before your appointment so we can coordinate with the foster parents for you to meet the dog. A K9 care specialist will attend to you throughout your entire visit.

The list below is updated in real time. View hundreds of dogs and puppies, both big and small available for adoption.

there are no dogs matching your exact filters

Why not try broadening your search by unchecking options above? Make sure to check back regularly as we receive new dogs every day!

    '; const buildDogs = (dogs) => { // alphabetical dogs = dogs.sort((a, b) => a.Name > b.Name ? 1 : -1); // snippets for (let i = 0; i < dogs.length; i++) { // bonded pairs let bondedVar, dogAttrs = dogs[i].Attributes, attrFound = dogAttrs.find(a => a.AttributeName == 'Bonded'); if (attrFound) { bondedVar = bonded + '

    Meet Our Dogs (2)

    '; } else { bondedVar = '

    Meet Our Dogs (3)

    '; } // build let snippet = '

  • ' + bondedVar + '

    ' + '

    ' + dogs[i].Name + '' + '
      ' + '
    • Age' + ageChange(dogs[i]) + '' + '
    • Gender' + dogs[i].Sex + '' + '
    • Breed' + dogs[i].Breed + '' + '
    • Weight' + sizeChange(dogs[i]) + '
    ' + '

    Learn more

    ' + ''; // append $('#dogs').append(snippet); } // show filter reset if (filters.length > 0) { $('#clear-filter').removeClass('hidden'); } else { $('#clear-filter').addClass('hidden'); } } // request let count = 1; const getDogs = (config) => { axios(config) .then(function(response) { // add to dogs dogs = dogs.concat(response.data.animals); // if == 100 || < 100 let number = response.data.animals.length; if (number == 100) { let oudURL = 'https://www.shelterluv.com/api/v1/animals?status_type=publishable', nieuweURL = oudURL.concat('&offset=' + count +'00'); config.url = nieuweURL; getDogs(config); count++; } else { // add stages for (let i = 0; i < dogs.length; i++) { epoch(dogs[i]); } // populate breed filter breeder(dogs); // build advanced filter attributer(dogs); // build buildDogs(dogs); } }) .catch(function(error) { console.log(error); }); } // combine getDogs(config); // ************ // SINGLE DOGS // ************ let scrollPos; // build dog const buildDog = (config) => { axios(config) .then(function(response) { let dog = response.data, location; // if location exists if (dog.CurrentLocation) { location = '

    Location' + dog.CurrentLocation.Tier1 + '

    '; } else if (dog.InFoster) { location = '

    LocationFoster Home

    '; } else { location = ''; } // bonded badge let cover, dogAttrs = dog.Attributes, attrFound = dogAttrs.find(a => a.AttributeName == 'Bonded'); if (attrFound) { cover = bonded + '

    Meet Our Dogs (4)

    '; } else { cover = '

    Meet Our Dogs (5)

    '; } // build top let top = '

    ← Back

    ' + '

    ' + '

    ' + '

    Age' + ageChange(dog) + '

    ' + '

    Gender' + dog.Sex + '

    ' + '

    Breed' + dog.Breed + '

    ' + '

    Weight' + dog.CurrentWeightPounds + ' lbs

    ' + location + '

    ' + '' + '

    ' + cover + '

    '; // videos let film; if (dog.Videos.length > 0) { film = '

    ' + '

    ' + '

    '; } else { film = ''; } // build bottom depending on attributes let bottom; const listAttrs = () => { let attrList = []; for (let i = 0; i < dogAttrs.length; i++) { let attrElement = '

    ○ ' + dogAttrs[i].AttributeName + '

    '; attrList.push(attrElement); } return attrList.join("\n"); } if (dogAttrs.length > 0) { bottom = '

    ' + listAttrs() + '

    ' + '

    ' + dog.Description + '

    ' + film + '' + '

    ← Back

    '; } else { bottom = '

    ' + dog.Description + '

    ' + film + '' + '

    ← Back

    '; } // append hide dogs and filters $('#dog-filter').addClass('hidden'); $('#dogs').addClass('hidden'); // append top $('#dog-profile').append(top); // build and append slides if (dog.Photos.length > 1) { let thumbs; if (attrFound) { thumbs = $('

    '); } else { thumbs = $('

    '); } for (let i = 0; i < dog.Photos.length; i++) { let thumb; if (i == 0) { thumb = '

    Meet Our Dogs (6)

    '; } else { thumb = '

    Meet Our Dogs (7)

    '; } thumbs.append(thumb); } $('#dog-profile').append(thumbs); } // append bottom $('#dog-profile').append(bottom); }) .catch(function(error) { console.log(error); }); } // show dog $('body').on('click', '.to-dog', (e) => { let dogID = $(e.target).attr('data-dog-id'), dogConfig = config; dogConfig.url = 'https://www.shelterluv.com/api/v1/animals/' + dogID; // update scroll position scrollPos = $(window).scrollTop(); buildDog(dogConfig); $(window).scrollTop(0); }) // change slides $('body').on('click', '.thumb', (e) => { let newRL = $(e.target).attr('src'); $('.thumb').removeClass('current'); $(e.target).addClass('current'); $('#current').attr('src', newRL); }) // back to resuts $('body').on('click', '.back-to-results', () => { $('#dog-profile').empty(); $('#dog-filter').removeClass('hidden'); $('#dogs').removeClass('hidden'); $(window).scrollTop(scrollPos); }) // adopt $('body').on('click', '.adopt', () => { let adoptionForm = '

    ' + '

    X

    ' + '

    '; $('#dog-profile').append(adoptionForm); }) // no adoption $('body').on('click', '#no-adoption', () => { $('#adoption-form-container').remove(); }) // ************ // FILTER // ************ let filters = [], newDogs = []; // number of dogs found const found = (dogs) => { $('#dog-filter-results').html(''); if (filters.length > 0) { $('#dog-filter-results').text(dogs.length + ' dogs found.'); } else { $('#dog-filter-results').html(''); } } // filter simple const filMech = (filters) => { // build array for each filter let groupFilArr = []; // clear selections $('#dog-filter-selections').html(''); for (let i = 0; i < filters.length; i++) { // push selection array let type = filters[i].category, name = filters[i].value, filArr = []; if (type !== 'Attributes') { // push array filArr = dogs.filter(d => d[type] == name); groupFilArr.push(filArr); // build selections let selection = '

    ' + 'X' + '

    ' + name + '

    ' + '

    '; $('#dog-filter-selections').append(selection); } else { // find dogs with attributes let haveAttrs = dogs.filter(d => d.Attributes.length > 0), foundDogs = []; // find specific attribute for (const d in haveAttrs) { let attrList = haveAttrs[d].Attributes; for (const a in attrList) { if (attrList[a].AttributeName == name) { foundDogs.push(haveAttrs[d]); } } } // push groupFilArr.push(foundDogs); } } // combine filter arrays newDogs = groupFilArr.reduce((a, c) => a.filter(i => c.includes(i))); $('#dogs').html(''); buildDogs(newDogs); // no dogs found if (newDogs.length == 0) { $('#no-dogs').addClass('show'); } else { $('#no-dogs').removeClass('show'); } } // select resetter const resetter = (category) => { let findOption = $('.dog-filter-select').toArray(), foundOption = findOption.findIndex(x => x.name == category); $('.dog-filter-select')[foundOption].selectedIndex = 0; } // structure filtering system $('body').on('change', '.dog-filter-select, .advanced-option', (e) => { let category = e.target.name, value = e.target.value, filter = { category: category, value: value }, isPresent = filters.find(f => f.category == category), selIndex = filters.findIndex(f => f.category == category); // avoid duplicate categories if (isPresent && value !== 'reset' && category !== 'Attributes') { filters[selIndex] = filter; } else if (value == 'reset' && filters.length > 1) { filters.splice(selIndex, 1); } else if (value == 'reset' && filters.length == 1) { filters = []; $('#dogs').html(''); buildDogs(dogs); } else if ($(e.target).is('input') && $(e.target).is(':checked') == false) { filters.splice(filters.findIndex(f => f.value == value), 1); if (filters.length == 0) { $('#dogs').html(''); buildDogs(dogs); } } else { filters.push(filter); } // implement only if there are filters if (filters.length >= 1) { filMech(filters); } // show number of dogs found found(newDogs); }) // remove filter $('body').on('click', '.remove', (e) => { let parent = e.target.closest('.dog-filter-selection'), filVal = $(parent).attr('data-value'), filCat = $(parent).attr('data-category'), filDex = filters.findIndex(f => f.value == filVal); // remove from list filters.splice(filDex, 1); // remove from selections $(parent).remove(); // reset selector resetter(filCat); // implement only if there are filters if (filters.length >= 1) { // filter filMech(filters); // show number of dogs found found(newDogs); } else { // reset result numbers $('#dog-filter-results').html(''); // clear list $('#dogs').html(''); // show all dogs buildDogs(dogs); } }) // reset filters $('#clear-filter').click(() => { // clear filters filters = []; // clear selections $('#dog-filter-selections').html(''); // clear checkboxes let checkboxes = $('.filter-checkbox'); for (let i = 0; i < checkboxes.length; i++) { checkboxes[i].checked = false; } // reset number of dogs found(dogs); // reset selectors let selectors = $('.dog-filter-select').toArray(); for (const s in selectors) { selectors[s].selectedIndex = 0; } // clear list $('#dogs').html(''); // show all dogs buildDogs(dogs); // remove no dogs found $('#no-dogs').removeClass('show'); }) // ************ // SEARCH // ************ $('#search-submit').click((e) => { // stop default behaviour e.preventDefault(); // find dog let toFind = $('#search-name').val().toLowerCase(), didFind = dogs.filter(d => d.Name.toLowerCase() == toFind); // show reset switch $('#search-reset').addClass('show'); $('#dogs').html(''); buildDogs(didFind); }) $('#search-reset').click(() => { // reset input $('#search-name').val(''); // all dogs $('#dogs').html(''); buildDogs(dogs); // hide reset switch $('#search-reset').removeClass('show'); }) // ************ // BACK TO TOP // ************ // show/hide button $(window).scroll(() => { if ($(this).scrollTop() > 500) { $('#back-to-top').removeClass('hidden'); } else { $('#back-to-top').addClass('hidden'); } }) // go back up $('#back-to-top').click(() => { $('html, body').animate({ scrollTop: 0 }, 500); }) });

  • Make A Donation.

    You Can Make A Difference.

    Big Dog Ranch Rescue is a non profit. 100% of donations go towards our rescue and our dogs.

    Meet Our Dogs (2024)

    References

    Top Articles
    Latest Posts
    Article information

    Author: Barbera Armstrong

    Last Updated:

    Views: 5987

    Rating: 4.9 / 5 (59 voted)

    Reviews: 90% of readers found this page helpful

    Author information

    Name: Barbera Armstrong

    Birthday: 1992-09-12

    Address: Suite 993 99852 Daugherty Causeway, Ritchiehaven, VT 49630

    Phone: +5026838435397

    Job: National Engineer

    Hobby: Listening to music, Board games, Photography, Ice skating, LARPing, Kite flying, Rugby

    Introduction: My name is Barbera Armstrong, I am a lovely, delightful, cooperative, funny, enchanting, vivacious, tender person who loves writing and wants to share my knowledge and understanding with you.