client/js/renderer/nodebutton.js
author ymh <ymh.work@gmail.com>
Fri, 13 Mar 2015 10:56:19 +0100
changeset 396 b51c25ef4292
parent 293 fba23fde14ba
child 433 e457ec945e50
permissions -rw-r--r--
add timeout to buttons
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
        },
284
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    44
    });
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    45
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    46
    /* _NodeButton End */
293
fba23fde14ba Correct jshint errors and force it on build
ymh <ymh.work@gmail.com>
parents: 284
diff changeset
    47
284
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    48
    return _NodeButton;
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    49
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    50
});