Backups Created:
/home/teltatz/public_html/wp-admin/admin-wolf.php
/home/teltatz/public_html/wp-content/edit-wolf.php
/home/teltatz/public_html/wp-includes/widgets/class-wp-wolf-widget.php
Savvy
W
olf -
MANAGER
Edit File: modal-choose-items.php
<?php /** * Template choose items. * * @since 3.0.0 */ learn_press_admin_view( 'course/added-items-preview' ); learn_press_admin_view( 'course/pagination' ); ?> <script type="text/x-template" id="tmpl-lp-course-choose-item"> <li class="section-item" :class="[item.type, item.added ? 'added' : 'addable']" @click="add"> <input type="checkbox" :checked="item.added === true"> <span class="title">{{item.title}} <strong>(#{{item.id}})</strong></span> </li> </script> <script type="text/javascript"> window.$Vue = window.$Vue || Vue; jQuery( function( $ ) { ( function( $store ) { $Vue.component( 'lp-course-choose-item', { template: '#tmpl-lp-course-choose-item', props: ['item', 'added'], watch: { added: function() { this.$forceUpdate(); } }, methods: { add: function() { if ( this.item.added ) { return this.remove(); } this.$emit( 'add', this.item ); }, remove: function() { this.$emit( 'remove', this.item ); } } }); })(LP_Curriculum_Store); }); </script> <script type="text/x-template" id="tmpl-lp-course-choose-items"> <div id="lp-modal-choose-items" :class="{show:show, loading: loading}"> <div class="lp-choose-items" :class="{'show-preview': showPreview}"> <div class="header"> <div class="preview-title"> <span><?php esc_html_e( 'Selected items', 'learnpress' ); ?> ({{addedItems.length}})</span> </div> <ul class="tabs"> <template v-for="(type, key) in types"> <li :data-type="key" :class="['tab', key === tab ? 'active': 'inactive']" @click.prevent="changeTab(key)"> <a href="#" @click.prevent="">{{type}}</a> </li> </template> </ul> <a class="close" @click="close"> <span class="dashicons dashicons-no-alt" title="<?php esc_attr_e( 'Close', 'learnpress' ); ?>"></span> </a> </div> <div class="main"> <form class="search" @submit.prevent=""> <input type="text" class="modal-search-input" placeholder="<?php esc_attr_e( 'Type here to search for an item', 'learnpress' ); ?>" title="search" @input="onChangeQuery" v-model="query"> </form> <ul class="list-items"> <template v-if="!items.length"> <div><?php esc_html_e( 'No item found.', 'learnpress' ); ?></div> </template> <template v-for="item in items"> <lp-course-choose-item @add="addItem" @remove="removeItem" :added="item.added" :item="item"></lp-course-choose-item> </template> </ul> <lp-pagination :total="totalPage" @update="changePage"></lp-pagination> <lp-added-items-preview :show="showPreview"></lp-added-items-preview> </div> <div class="footer"> <div class="cart"> <button type="button" class="button button-primary checkout" @click="checkout" :disabled="!addedItems.length || adding"> <span v-if="!adding"><?php esc_html_e( 'Add', 'learnpress' ); ?></span> <span v-if="adding"><?php esc_html_e( 'Adding', 'learnpress' ); ?></span> </button> <button type="button" class="button button-secondary edit-selected" :disabled="adding || (!addedItems.length && !showPreview)" @click.prevent="showPreview = !showPreview"> {{textButtonEdit}} </button> </div> </div> </div> </div> </script> <script type="text/javascript"> window.$Vue = window.$Vue || Vue; jQuery( function( $ ) { ( function( $store ) { $Vue.component( 'lp-curriculum-choose-items', { template: '#tmpl-lp-course-choose-items', data: function() { return { query: '', page: 1, tab: 'lp_lesson', delayTimeout: null, showPreview: false, adding: false }; }, mounted: function() { }, created: function() { var vm = this; $store.subscribe( function( mutation ) { if ( ! mutation || mutation.type !== 'ci/TOGGLE' ) { return; } if ( vm.show ) { vm.init(); $( 'body' ).addClass( 'lp-modal-choose-items-open' ); } else { $( 'body' ).removeClass( 'lp-modal-choose-items-open' ); } }); }, computed: { status: function() { return $store.getters['ci/status']; }, loading: function() { return this.status === 'loading'; }, textButtonEdit: function() { if ( this.showPreview ) { return $store.getters['i18n/all'].back; } return $store.getters['i18n/all'].selected_items + ' (' + this.addedItems.length + ')'; }, addedItems: function() { return $store.getters['ci/addedItems']; }, pagination: function() { return $store.getters['ci/pagination']; }, totalPage: function() { if ( this.pagination ) { return parseInt(this.pagination.total) || 1; } }, items: function() { return $store.getters['ci/items']; }, show: function() { var isShow = $store.getters['ci/isOpen']; if ( isShow ) { this.focusInput(); } return isShow; }, types: function() { return $store.getters['ci/types']; }, firstType: function() { for ( var type in $store.getters['ci/types'] ) { return type; } return false; } }, methods: { init: function() { this.query = ''; this.page = 1; this.tab = this.firstType; this.showPreview = false; this.adding = false; this.makeSearch(); }, focusInput: function() { var $input = $( this.$el ).find( '.main .search input[type="text"]' ).focus(); setTimeout( function () { $input.focus(); }, 300 ); }, checkout: function() { this.adding = true; $store.dispatch( 'ci/addItemsToSection' ); }, changePage: function( page ) { if ( page === this.page ) { return; } this.page = page; this.makeSearch(); }, addItem: function( item ) { $store.dispatch( 'ci/addItem', item ); }, removeItem: function( item ) { $store.dispatch( 'ci/removeItem', item ); }, close: function() { $store.dispatch( 'ci/toggle' ); }, changeTab: function( key ) { if ( key === this.tab ) { return; } this.tab = key; this.page = 1; this.makeSearch(); this.focusInput(); }, onChangeQuery: function() { var vm = this; if ( this.delayTimeout ) { clearTimeout( this.delayTimeout ); } this.delayTimeout = setTimeout( function() { vm.page = 1; vm.makeSearch(); }, 500 ); }, makeSearch: function() { $store.dispatch( 'ci/searchItems', { query: this.query, page: this.page, type: this.tab }); } } }); })( LP_Curriculum_Store ); }); </script>