client/js/renderer/nodebutton.js
author rougeronj
Wed, 03 Jun 2015 17:27:46 +0200
changeset 471 e0c7be5dc02c
parent 434 0d5998b32a7c
permissions -rw-r--r--
Add a router to handle fragment identifier Set up a listener of the router in the scene to update it Start Backbone.history (eventlistener of the router) when all the project is loaded Include router.js to all the test file
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
284
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
     1
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
     2
define(['jquery', 'underscore', 'requtils', 'renderer/basebutton'], function ($, _, requtils, BaseButton) {
293
fba23fde14ba Correct jshint errors and force it on build
ymh <ymh.work@gmail.com>
parents: 284
diff changeset
     3
    'use strict';
396
b51c25ef4292 add timeout to buttons
ymh <ymh.work@gmail.com>
parents: 293
diff changeset
     4
284
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
     5
    var Utils = requtils.getUtils();
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
     6
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
     7
    /* _NodeButton Begin */
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
     8
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
     9
    //var _NodeButton = Renderer._NodeButton = Utils.inherit(Renderer._BaseButton);
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    10
    var _NodeButton = Utils.inherit(BaseButton);
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    11
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    12
    _(_NodeButton.prototype).extend({
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    13
        setSectorSize: function() {
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    14
            var sectorInner = this.source_representation.circle_radius;
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    15
            if (sectorInner !== this.lastSectorInner) {
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    16
                if (this.sector) {
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    17
                    this.sector.destroy();
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    18
                }
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    19
                this.sector = this.renderer.drawSector(
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    20
                        this, 1 + sectorInner,
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    21
                        Utils._NODE_BUTTON_WIDTH + sectorInner,
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    22
                        this.startAngle,
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    23
                        this.endAngle,
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    24
                        1,
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    25
                        this.imageName,
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    26
                        this.renkan.translate(this.text)
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    27
                );
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    28
                this.lastSectorInner = sectorInner;
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    29
            }
396
b51c25ef4292 add timeout to buttons
ymh <ymh.work@gmail.com>
parents: 293
diff changeset
    30
        },
b51c25ef4292 add timeout to buttons
ymh <ymh.work@gmail.com>
parents: 293
diff changeset
    31
        unselect: function() {
b51c25ef4292 add timeout to buttons
ymh <ymh.work@gmail.com>
parents: 293
diff changeset
    32
            BaseButton.prototype.unselect.apply(this, Array.prototype.slice.call(arguments, 1));
b51c25ef4292 add timeout to buttons
ymh <ymh.work@gmail.com>
parents: 293
diff changeset
    33
            if(this.source_representation && this.source_representation.buttons_timeout) {
b51c25ef4292 add timeout to buttons
ymh <ymh.work@gmail.com>
parents: 293
diff changeset
    34
                clearTimeout(this.source_representation.buttons_timeout);
b51c25ef4292 add timeout to buttons
ymh <ymh.work@gmail.com>
parents: 293
diff changeset
    35
                this.source_representation.hideButtons();
b51c25ef4292 add timeout to buttons
ymh <ymh.work@gmail.com>
parents: 293
diff changeset
    36
            }
b51c25ef4292 add timeout to buttons
ymh <ymh.work@gmail.com>
parents: 293
diff changeset
    37
        },
b51c25ef4292 add timeout to buttons
ymh <ymh.work@gmail.com>
parents: 293
diff changeset
    38
        select: function() {
b51c25ef4292 add timeout to buttons
ymh <ymh.work@gmail.com>
parents: 293
diff changeset
    39
            if(this.source_representation && this.source_representation.buttons_timeout) {
b51c25ef4292 add timeout to buttons
ymh <ymh.work@gmail.com>
parents: 293
diff changeset
    40
                clearTimeout(this.source_representation.buttons_timeout);
b51c25ef4292 add timeout to buttons
ymh <ymh.work@gmail.com>
parents: 293
diff changeset
    41
            }
b51c25ef4292 add timeout to buttons
ymh <ymh.work@gmail.com>
parents: 293
diff changeset
    42
            this.sector.select();
b51c25ef4292 add timeout to buttons
ymh <ymh.work@gmail.com>
parents: 293
diff changeset
    43
        },
433
e457ec945e50 replace underscore par lodash
ymh <ymh.work@gmail.com>
parents: 396
diff changeset
    44
    }).value();
434
0d5998b32a7c clean, and finalize lodash migration
ymh <ymh.work@gmail.com>
parents: 433
diff changeset
    45
284
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    46
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    47
    /* _NodeButton End */
293
fba23fde14ba Correct jshint errors and force it on build
ymh <ymh.work@gmail.com>
parents: 284
diff changeset
    48
284
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    49
    return _NodeButton;
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    50
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    51
});