~ubuntu-branches/ubuntu/vivid/phabricator/vivid-proposed

« back to all changes in this revision

Viewing changes to phabricator/src/applications/flag/view/PhabricatorFlagSelectControl.php

  • Committer: Package Import Robot
  • Author(s): Richard Sellam
  • Date: 2014-10-23 20:49:26 UTC
  • Revision ID: package-import@ubuntu.com-20141023204926-ar20vnfjqwxysrce
Tags: upstream-0~git20141023
ImportĀ upstreamĀ versionĀ 0~git20141023

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<?php
 
2
 
 
3
final class PhabricatorFlagSelectControl extends AphrontFormControl {
 
4
 
 
5
  public function getCustomControlClass() {
 
6
    return 'phabricator-flag-select-control';
 
7
  }
 
8
 
 
9
  public function renderInput() {
 
10
    require_celerity_resource('phabricator-flag-css');
 
11
 
 
12
    $colors = PhabricatorFlagColor::getColorNameMap();
 
13
 
 
14
    $value_map = array_fuse($this->getValue());
 
15
 
 
16
    $file_map = array(
 
17
      PhabricatorFlagColor::COLOR_RED => 'red',
 
18
      PhabricatorFlagColor::COLOR_ORANGE => 'orange',
 
19
      PhabricatorFlagColor::COLOR_YELLOW => 'yellow',
 
20
      PhabricatorFlagColor::COLOR_GREEN => 'green',
 
21
      PhabricatorFlagColor::COLOR_BLUE => 'blue',
 
22
      PhabricatorFlagColor::COLOR_PINK => 'pink',
 
23
      PhabricatorFlagColor::COLOR_PURPLE => 'purple',
 
24
      PhabricatorFlagColor::COLOR_CHECKERED => 'finish',
 
25
    );
 
26
 
 
27
    $out = array();
 
28
    foreach ($colors as $const => $name) {
 
29
      // TODO: This should probably be a sprite sheet.
 
30
      $partial = $file_map[$const];
 
31
      $uri = '/rsrc/image/icon/fatcow/flag_'.$partial.'.png';
 
32
      $uri = celerity_get_resource_uri($uri);
 
33
 
 
34
      $icon = id(new PHUIIconView())
 
35
        ->setImage($uri);
 
36
 
 
37
      $input = phutil_tag(
 
38
        'input',
 
39
        array(
 
40
          'type' => 'checkbox',
 
41
          'name' => $this->getName().'[]',
 
42
          'value' => $const,
 
43
          'checked' => isset($value_map[$const])
 
44
            ? 'checked'
 
45
            : null,
 
46
          'class' => 'phabricator-flag-select-checkbox',
 
47
        ));
 
48
 
 
49
      $label = phutil_tag(
 
50
        'label',
 
51
        array(
 
52
          'class' => 'phabricator-flag-select-label',
 
53
        ),
 
54
        array(
 
55
          $icon,
 
56
          $input,
 
57
        ));
 
58
 
 
59
      $out[] = $label;
 
60
    }
 
61
 
 
62
    return $out;
 
63
  }
 
64
 
 
65
}