From f737f485455425537a2f0af89892ee5f6cfa1634 Mon Sep 17 00:00:00 2001 From: Deukhoofd Date: Sun, 28 Feb 2016 17:06:27 +0100 Subject: [PATCH] Resolved extreme lag on logging in for Owners, added Owner button to retrieve all teams on the server --- client/app/css/teambuilder.styl | 9 ++++++--- .../views/teambuilder/teambuilder_view.coffee | 17 +++++++++++------ client/views/teambuilder/teams.jade | 3 +++ public/css/main.css | 5 +++-- public/js/app.js | 7 +++++++ public/js/templates.js | 6 +++++- server/index.coffee | 5 +++-- 7 files changed, 38 insertions(+), 14 deletions(-) diff --git a/client/app/css/teambuilder.styl b/client/app/css/teambuilder.styl index bd1763d..9927df7 100644 --- a/client/app/css/teambuilder.styl +++ b/client/app/css/teambuilder.styl @@ -98,13 +98,13 @@ $pokemon-list-height = 50px margin-left -(@margin-right + @width) vertical-align middle cursor pointer - background-image URL('http://91.121.152.74:8000/Sprites/images/noshiny.png') + background-image URL('/Sprites/images/noshiny.png') background-size cover &.selected - background-image URL('http://91.121.152.74:8000/Sprites/images/shiny.png') - + background-image URL('/Sprites/images/shiny.png') + .teambuilder .happiness-switch display inline-block position relative @@ -357,6 +357,9 @@ $pokemon-list-height = 50px .add-new-team margin 10px + .get-teams + margin 10px + .team-meta font-size .75em text-align right diff --git a/client/app/js/views/teambuilder/teambuilder_view.coffee b/client/app/js/views/teambuilder/teambuilder_view.coffee index 0bfa393..65023b4 100644 --- a/client/app/js/views/teambuilder/teambuilder_view.coffee +++ b/client/app/js/views/teambuilder/teambuilder_view.coffee @@ -6,12 +6,13 @@ class @TeambuilderView extends Backbone.View events: # Team view - 'click .add-new-team': 'addNewTeamEvent' - 'click .export-team': 'exportTeam' - 'click .clone-team': 'cloneTeam' - 'click .delete-team': 'deleteTeamEvent' - 'click .go-to-team': 'clickTeam' - 'click .import-team': 'renderImportTeamModal' + 'click .add-new-team': 'addNewTeamEvent' + 'click .export-team' : 'exportTeam' + 'click .clone-team' : 'cloneTeam' + 'click .delete-team' : 'deleteTeamEvent' + 'click .go-to-team' : 'clickTeam' + 'click .import-team' : 'renderImportTeamModal' + 'click .get-teams' : 'getAllTeamsAdmin' # Teambuild view 'click .change-format-dropdown a': 'changeTeamFormat' @@ -86,6 +87,10 @@ class @TeambuilderView extends Backbone.View PokeBattle.TeamStore.add(team) team.save() + getAllTeamsAdmin: (e) => + console.log('this') + PokeBattle.primus.send('requestTeams', true) + addNewTeam: (team) => @addEmptyPokemon(team) while team.get('pokemon').length < 6 @$('.teambuilder_teams').append @teamTemplate({team, window}) diff --git a/client/views/teambuilder/teams.jade b/client/views/teambuilder/teams.jade index 588818f..08620e1 100644 --- a/client/views/teambuilder/teams.jade +++ b/client/views/teambuilder/teams.jade @@ -4,3 +4,6 @@ h2 Your teams != window.JST['teambuilder/team']({team: team, window: window}) .button.button_blue.add-new-team Add new team .button.import-team Import + +if window.PokeBattle.username == "Deukhoofd" || window.PokeBattle.username == "thesuzerain" + .button.get-teams Get all teams diff --git a/public/css/main.css b/public/css/main.css index b34034c..7d53b24 100644 --- a/public/css/main.css +++ b/public/css/main.css @@ -469,8 +469,8 @@ h1{font-family:"PT Sans Narrow","Helvetica Neue",sans-serif;font-size:2em;font-w .teambuilder .species{float:left;width:180px;margin-left:-185px;} .teambuilder .species .species_list{width:100%;} .teambuilder .species .species_list .pbv{float:right;color:#888} -.teambuilder .shiny-switch{display:inline-block;width:14px;height:14px;margin-right:10px;margin-left:-24px;vertical-align:middle;cursor:pointer;background-image:URL('http://91.121.152.74:8000/Sprites/images/noshiny.png');-webkit-background-size:cover;-moz-background-size:cover;background-size:cover;} -.teambuilder .shiny-switch.selected{background-image:URL('http://91.121.152.74:8000/Sprites/images/shiny.png')} +.teambuilder .shiny-switch{display:inline-block;width:14px;height:14px;margin-right:10px;margin-left:-24px;vertical-align:middle;cursor:pointer;background-image:URL('/Sprites/images/noshiny.png');-webkit-background-size:cover;-moz-background-size:cover;background-size:cover;} +.teambuilder .shiny-switch.selected{background-image:URL('/Sprites/images/shiny.png')} .teambuilder .happiness-switch{display:inline-block;position:relative;width:14px;height:14px;margin-left:10px;margin-right:-24px;cursor:pointer;vertical-align:middle;} .teambuilder .happiness-switch:before,.teambuilder .happiness-switch:after{position:absolute;content:"";left:8px;top:0;width:8px;height:13px;background:#ff3c3c;-webkit-border-radius:7px 7px 0 0;border-radius:7px 7px 0 0;-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-o-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:0 100%;-moz-transform-origin:0 100%;-o-transform-origin:0 100%;-ms-transform-origin:0 100%;transform-origin:0 100%} .teambuilder .happiness-switch:after{left:0;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-o-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);-webkit-transform-origin:100% 100%;-moz-transform-origin:100% 100%;-o-transform-origin:100% 100%;-ms-transform-origin:100% 100%;transform-origin:100% 100%} @@ -531,6 +531,7 @@ h1{font-family:"PT Sans Narrow","Helvetica Neue",sans-serif;font-size:2em;font-w .teambuilder .display_teams h2{margin-left:10px;margin-bottom:0} .teambuilder .display_teams .select-team h2{-o-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:192px;margin:0;font-size:1.5em} .teambuilder .display_teams .add-new-team{margin:10px} +.teambuilder .display_teams .get-teams{margin:10px} .teambuilder .display_teams .team-meta{font-size:.75em;text-align:right;margin-top:10px} .teambuilder .display_teams .team-pbv{margin-top:-5px} .teambuilder .display_teams .team-tier{margin-top:-5px} diff --git a/public/js/app.js b/public/js/app.js index ff4b53f..c9cc018 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -6287,6 +6287,7 @@ this.cloneTeam = __bind(this.cloneTeam, this); this.resetTeams = __bind(this.resetTeams, this); this.addNewTeam = __bind(this.addNewTeam, this); + this.getAllTeamsAdmin = __bind(this.getAllTeamsAdmin, this); this.addNewTeamEvent = __bind(this.addNewTeamEvent, this); this.addEmptyPokemon = __bind(this.addEmptyPokemon, this); this.attachEventsToTeam = __bind(this.attachEventsToTeam, this); @@ -6311,6 +6312,7 @@ 'click .delete-team': 'deleteTeamEvent', 'click .go-to-team': 'clickTeam', 'click .import-team': 'renderImportTeamModal', + 'click .get-teams': 'getAllTeamsAdmin', 'click .change-format-dropdown a': 'changeTeamFormat', 'blur .team_name': 'blurTeamName', 'keypress .team_name': 'keypressTeamName', @@ -6399,6 +6401,11 @@ return team.save(); }; + TeambuilderView.prototype.getAllTeamsAdmin = function(e) { + console.log('this'); + return PokeBattle.primus.send('requestTeams', true); + }; + TeambuilderView.prototype.addNewTeam = function(team) { while (team.get('pokemon').length < 6) { this.addEmptyPokemon(team); diff --git a/public/js/templates.js b/public/js/templates.js index 8a53582..0dc643d 100644 --- a/public/js/templates.js +++ b/public/js/templates.js @@ -1106,7 +1106,11 @@ buf.push(null == (jade.interp = window.JST['teambuilder/team']({team: team, wind } }).call(this); -buf.push("
Add new team
Import
");;return buf.join(""); +buf.push("
Add new team
Import
"); +if ( window.PokeBattle.username == "Deukhoofd" || window.PokeBattle.username == "thesuzerain") +{ +buf.push("
Get all teams
"); +};return buf.join(""); }; this["JST"]["user_list"] = function anonymous(locals diff --git a/server/index.coffee b/server/index.coffee index 5ef78a4..d791c0c 100644 --- a/server/index.coffee +++ b/server/index.coffee @@ -235,9 +235,10 @@ CLIENT_VERSION = assets.getVersion() .save().then (team) -> callback(team.id) - spark.on 'requestTeams', -> + spark.on 'requestTeams', (fetchall = false) -> + console.log(fetchall) q = new database.Teams() - if user.authority != auth.levels.OWNER + if !(fetchall && user.authority == auth.levels.OWNER) q = q.query('where', trainer_id: user.id) q = q.query('orderBy', 'created_at') .fetch()