xref: /aosp_15_r20/external/cldr/docs/charts/keyboard/static/index.html (revision 912701f9769bb47905792267661f0baf2b85bed5)
1<html>
2  <head>
3    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
4    <title>CLDR | Proposed Keyboard 3.0  Chart</title>
5    <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
6    <script src="./keyboard-chart.js"></script>
7    <script src="./data/keyboard-data.js"></script>
8    <link href="./keyboard-chart.css" rel="stylesheet" />
9    <link rel="stylesheet" type="text/css" href="https://www.unicode.org/webscripts/standard_styles.css">
10  </head>
11  <body>
12    <div id="app">
13        <!-- standard unicode header-->
14        <table width="100%" cellpadding="0" cellspacing="0" border="0">
15            <!-- BEGIN HEADER BAR -->
16                <tr>
17                  <td colspan="2">
18                  <table width="100%" border="0" cellpadding="0" cellspacing="0">
19                    <tr>
20
21                      <td class="icon" style="width:38px; height:35px">
22                      <a href="https://www.unicode.org/">
23                      <img border="0" src="https://www.unicode.org/webscripts/logo60s2.gif" align="middle"
24                      alt="[Unicode]" width="34" height="33"></a>
25                      </td>
26
27                      <td class="icon" style="vertical-align:middle">
28                      <a class="bar"> </a>
29                      <a class="bar" href="https://cldr.unicode.org/index/keyboard-workgroup"><font size="3">CLDR | Keyboard-SC | Charts</font></a>
30                      </td>
31
32                      <td class="bar">
33                      <a href="https://www.unicode.org/main.html" class="bar">Tech Site</a>
34                      | <a href="https://www.unicode.org/sitemap/" class="bar">Site Map</a> |
35                      <a href="https://www.unicode.org/search" class="bar">Search </a>
36                      </td>
37
38                    </tr>
39                  </table>
40                  </td>
41                </tr>
42                <tr>
43                  <td colspan="2" class="gray">&nbsp;</td>
44                </tr>
45            <!-- END HEADER BAR -->
46  <!-- BEGIN CONTENTS -->
47  <tr>
48    <td class="contents" valign="top">
49
50
51      <i
52        >Note: This is a very preliminary chart. For feedback on this chart or
53        contents, please comment on:
54        <a href="https://unicode-org.atlassian.net/browse/CLDR-17205"
55          >https://unicode-org.atlassian.net/browse/CLDR-17205</a
56        ></i
57      >
58      <!-- {{ message }} -->
59      <hr />
60      <div>
61        <span v-for="file of files" :key="file">
62          <a :href="'#'+file">{{file}}</a> |
63        </span>
64      </div>
65      <hr />
66      <ol>
67        <li v-for="file of files" :key="file">
68          <h2 :id="file"><code>{{file}}</code></h2>
69          <ul>
70            <li v-for="layers of getLayers(file)">
71              <h3 v-if="layers.formId">Form: {{ layers.formId }}</h3>
72              <h3 v-if="layers.id">ID: {{ layers.id }}</h3>
73              <h4 v-if="layers.minDeviceWidth">
74                minDeviceWidth: {{ layers.minDeviceWidth }}mm
75              </h4>
76              <ul>
77                <li v-for="layer of layers.layer">
78                  <h4 v-if="layer.modifiers">Modifier: {{ layer.modifiers }}</h4>
79                  <h4 v-if="layer.id">{{ layer.id }}</h4>
80                  <div class="rows">
81                    <div class="row" v-for="row of layer.row">
82                      <span
83                        :title="key.id"
84                        :class="getKeyClass(key)"
85                        v-for="key of row.keys"
86                      >
87                        {{key.output}}
88                        <b title="Switch" v-if="key.layerId">☞ {{key.layerId}}</b>
89                      </span>
90                    </div>
91                  </div>
92                </li>
93              </ul>
94            </li>
95          </ul>
96          <hr />
97        </li>
98      </ol>
99      </td>
100      </tr>
101      </table>
102      </div>
103    <script>
104      const { createApp } = Vue;
105
106      createApp({
107        data() {
108          return {};
109        },
110        computed: {
111          files() {
112            return getIds();
113          },
114        },
115        methods: {
116          getLayers(id) {
117            return getKeyboardLayers(id);
118          },
119          getKeys(id) {
120            return getKeyboardKeys(id);
121          },
122          getKeyClass(key) {
123            if (key.gap) {
124              return "gap-key key";
125            } else if (key.to) {
126              return "to-key key";
127            } else if (key.switch) {
128              return "switch-key key";
129            } else {
130              return "key";
131            }
132          },
133        },
134      }).mount("#app");
135    </script>
136
137  </body>
138</html>
139