{% extends "base.html" %} {% block header_script_files %} {% endblock %} {% block header %} {{ emit_tep('scrape_page_header') }} {% endblock %} {% block content %}
{% endblock %} {% block modals %} {{ emit_tep('scrape_page_modals') }} {% endblock %} {% block button_container %} {{ emit_tep('scrape_page_button_container') }} {% endblock %} {% block script %} Vue.component('candidate', { props: ['candidate', 'individual'], template: ` `, delimiters: ["[[","]]"] }) Vue.component('modal', { props: ['individual'], template: `
{{ emit_tep('scrape_page_directory_modals') }}
`, updated() { this.setTest(); }, computed: { match() { return JSON.parse(this.individual.scrape_json).filter(item => { return item['id'] == this.individual.scrape_candidate })[0] }, json() { return JSON.parse(this.individual.scrape_json) }, }, methods: { doSomething(something) { console.log(something.target.value) this.individual.scrape_candidate = something.target.value }, setTest() { console.log('in here') this.test = JSON.parse(this.individual.scrape_json).filter(item => { return item['id'] == this.individual.scrape_candidate })[0] document.getElementById('selectVolume').value = this.individual.scrape_candidate } }, delimiters: ["[[","]]"] }) Vue.component('directory', { props: ['directory'], template: `
  • [[ directory.scrape_directory ]]
  • `, computed: { imageURL() { return JSON.parse(this.directory.scrape_json).filter(item => { return item['id'] == this.directory.scrape_candidate })[0]['image']['small_url'] }, checkedStatus() { string = `text-info fa-2x fas fa-circle` if(this.directory.scrape_add) { string = `text-success fa-2x fas fa-check-circle` } return string }, }, methods: { changeModal() { app.changeModal(this.directory) }, changeChecked() { axios.put('{{ url_for('api.api_put_directories_edit', scrape_id='SCRAPEID') }}'.replace('SCRAPEID', this.directory.scrape_id), { data: { scrape_add: !this.directory.scrape_add, scrape_candidate: this.directory.scrape_candidate } }) .then(res => { console.log(res) if(res.data.status_code == 200) { this.directory.scrape_add = !this.directory.scrape_add // stashrToast('Updated Inforamtion', 'info') } }) }, }, data() { return { hover: false, scraped: false, } }, delimiters: ["[[","]]"] }) Vue.component('directories', { props: ['directories'], template: `
    `, data() { return { search: '', } }, computed: { filteredList() { return this.directories.filter(directory => { return directory.scrape_directory.toLowerCase().includes(this.search.toLowerCase()) }) }, }, methods: {}, delimiters: ["[[","]]"] }) var app = new Vue({ el: '#app', data: { directories: [], individual: [], }, created() { this.getDirectories(); }, methods: { getDirectories() { axios.get('{{ url_for('api.api_get_directories') }}', { params: { offset: this.directories.length } }) .then(res => { if(res.data.number_of_page_results > 0) { res.data.results.forEach(result => { this.directories.push(result) }); if(this.directories.length < res.data.number_of_total_results) { this.getDirectories() } } this.individual = this.directories[0] }) .catch(err => console.log(err)) }, rescanDirectories() { stashrToast('Rescanning Directories', 'info'); axios.post('{{ url_for('api.api_post_directories_scan') }}') .then(res =>{ if(res.data.status_code == '200') { this.directories = []; this.getDirectories(); } else { stashrToast(res.data.message, 'error') } }) .catch(err => console.log(err)) }, changeModal(directory) { this.individual = directory }, addDirectories() { axios.post('{{ url_for('api.api_post_directories_add') }}') .then(res => { if(res.data.status_code == 200) { stashrToast('Adding Directories') } }) }, }, delimiters: ["[","]]"] }) {{ emit_tep('scrape_page_script') }} {% endblock %}