Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- c = function () {
- return console.log.apply(console, arguments);
- };
- Object.size = function (obj) {
- //https://stackoverflow.com/questions/5223/length-of-a-javascript-object
- var size = 0, key;
- for (key in obj) {
- if (obj.hasOwnProperty(key))
- size++;
- }
- return size;
- };
- Array.prototype.clean = function (deleteValue) {
- for (var i = 0; i < this.length; i++) {
- if (this[i] == deleteValue) {
- this.splice(i, 1);
- i--;
- }
- }
- return this;
- };
- Vue.component('modal', {
- template: '#modal-template'
- })
- const default_row = {
- series: 1,
- season: 1
- };
- var vm = new Vue({
- el: '.wrapper',
- data: {
- cols: {},
- id: window.location.href.split('#')[1] || 0,
- loader: true,
- showModal: false,
- add_row: default_row,
- rows: {},
- col_names: [],
- cols_count: 0,
- options: [],
- search_row: {},
- all: 0,
- page: 1,
- limit:10,
- current: 1,
- pages: 1
- },
- mounted: function () {
- },
- methods: {
- refresh: function () {
- var self = this;
- $.ajax({
- url: "php/data.php",
- type: 'POST',
- data: {act: 'load', user: self.user_id},
- success: function (data) {
- var data = JSON.parse(data);
- self.loader = false;
- self.cols = data;
- self.cols_count = self.cols.length;
- },
- error: function (jqXHR, textStatus, errorThrown) {
- alert(errorThrown);
- }
- });
- $.ajax({
- url: "php/data.php",
- type: 'POST',
- data: {act: 'load_cnt', user: self.user_id, ext : JSON.stringify(self.search_row)},
- success: function (data) {
- var data = JSON.parse(data);
- self.all = data;
- $.ajax({
- url: "php/data.php",
- type: 'POST',
- data: {act: 'load_data', user: self.user_id, ext : JSON.stringify(self.search_row),
- pagination: {page:self.page, limit:self.limit}},
- success: function (data) {
- var data = JSON.parse(data);
- self.rows = data;
- self.pages = Math.ceil(self.all / self.limit)
- },
- error: function (jqXHR, textStatus, errorThrown) {
- alert(errorThrown);
- }
- });
- if (Object.size(self.search_row) == 0 && self.page == 1) {
- $.ajax({
- url: "php/data.php",
- type: 'POST',
- data: {act: 'load_data', user: self.user_id, ext : JSON.stringify(self.search_row),
- pagination: {page:self.page, limit:self.all}},
- success: function (data) {
- c('ok')
- var data = JSON.parse(data);
- self.options['serial'] = _.uniq(data, function(item, key, a) {
- return item.serial;
- });
- self.options['season'] = _.uniq(data, function(item, key, a) {
- return item.season;
- });
- self.options['series'] = _.uniq(data, function(item, key, a) {
- return item.series;
- });
- },
- error: function (jqXHR, textStatus, errorThrown) {
- alert(errorThrown);
- }
- });
- }
- },
- error: function (jqXHR, textStatus, errorThrown) {
- alert(errorThrown);
- }
- });
- vm.showModal = false;
- vm.loader = false;
- c('refreshed at', moment().format("YYYY-MM-DD HH:mm:ss"));
- },
- pass: function (data) {
- handleAuthClick();
- },
- add: function (data) {
- var self = this;
- if (Object.size(self.add_row) != self.cols_count) {
- alert('НЕ ВСЕ ПОЛЯ ЗАПОЛНЕНЫ');
- c('НЕ ВСЕ ПОЛЯ ЗАПОЛНЕНЫ', moment().format("YYYY-MM-DD HH:mm:ss"));
- validInput();
- return false;
- }
- inValid();
- self.loader = true;
- $.ajax({
- url: "php/data.php",
- type: 'POST',
- data: {act: 'add', data: self.add_row, user: self.user_id},
- success: function (data) {
- var data = JSON.parse(data);
- if (typeof data.error == 'undefined') {
- self.add_row = {
- series: 1,
- season: 1
- };
- c(default_row)
- vm.refresh();
- } else {
- alert(data.error.errorInfo);
- vm.refresh();
- }
- },
- error: function (jqXHR, textStatus, errorThrown) {
- alert(errorThrown);
- vm.refresh();
- }
- });
- },
- edit: function (data) {
- c(data)
- this.loader = true;
- $.ajax({
- url: "php/data.php",
- type: 'POST',
- data: {act: 'edit', user: self.user_id, data: data},
- success: function (data) {
- var data = JSON.parse(data);
- if (typeof data.error == 'undefined') {
- vm.refresh();
- } else {
- alert(data.error.errorInfo);
- }
- },
- error: function (jqXHR, textStatus, errorThrown) {
- alert(errorThrown);
- vm.refresh();
- }
- });
- },
- del: function (data) {
- if (!confirm("Точно удалить?"))
- return false;
- this.loader = true;
- $.ajax({
- url: "php/data.php",
- type: 'POST',
- data: {act: 'del', data: data},
- success: function (data) {
- var data = JSON.parse(data);
- if (typeof data.error == 'undefined') {
- vm.refresh();
- } else {
- alert(data.error.errorInfo);
- }
- },
- error: function (jqXHR, textStatus, errorThrown) {
- alert(errorThrown);
- }
- });
- },
- kinozal: function (data) {
- return 'http://j96177ni.beget.tech/vid/?s=' + data.serial + '&i=' + data.id + '#' + data.id;
- },
- search: function (data) {
- var self = this,
- ext = JSON.stringify(self.search_row);
- self.page = 1;
- self.current = self.page;
- $.ajax({
- url: "php/data.php",
- type: 'POST',
- data: {act: 'load_cnt', user: self.user_id, ext : JSON.stringify(self.search_row)},
- success: function (data) {
- //<--start
- var data = JSON.parse(data);
- self.all = data;
- $.ajax({
- url: "php/data.php",
- type: 'POST',
- data: {act: 'load_data', user: self.user_id, ext: ext,
- pagination: {page:self.page, limit:self.limit}},
- success: function (data) {
- var data = JSON.parse(data);
- self.rows = data;
- self.add_row.serial = (self.search_row.serial != '') ? self.search_row.serial : '';
- self.pages = Math.ceil(self.all / self.limit)
- },
- error: function (jqXHR, textStatus, errorThrown) {
- alert(errorThrown);
- }
- });
- //<--end
- },
- error: function (jqXHR, textStatus, errorThrown) {
- alert(errorThrown);
- }
- });
- },
- self: function (data) {
- this.add_row.serial = this.search_row.serial;
- },
- next: function (data) {
- this.page += 1;
- this.current = this.page;
- this.refresh();
- },
- prev: function (data) {
- this.page -= 1;
- this.current = this.page;
- this.refresh();
- },
- changePage: function (data) {
- this.page = data;
- this.current = this.page;
- this.refresh();
- },
- }
- })
- function inValid() {
- $(".check:visible").removeClass("warning");
- }
- function validInput() {
- var bad = 0;
- $(".check:visible").each(function () {
- if ($(this).val().trim() == '') {
- $(this).addClass('warning');
- bad++;
- }
- })
- return (bad > 0) ? false : true;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement