├── index.html ├── README.md ├── keydown.js └── chart_files ├── reset.css └── chart.js /index.html: -------------------------------------------------------------------------------- 1 | Hello World 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # sharakova.github.io 2 | 3 | [https://sharakova.github.io](https://sharakova.github.io) 4 | -------------------------------------------------------------------------------- /keydown.js: -------------------------------------------------------------------------------- 1 | var keyword = ''; 2 | function append(key) { 3 | keyword = keyword + key; 4 | console.log(keyword); 5 | } 6 | 7 | function send() { 8 | 9 | // XMLHttpRequest オブジェクトの作成 10 | var xhr = new XMLHttpRequest(); 11 | 12 | // 送信するデータ 13 | var params = "key=" + keyword; 14 | 15 | // 送信先 URL と HTTP メソッドを指定 16 | xhr.open('GET', 'xxxx' + params, true); 17 | 18 | // サーバーからの応答が正常に戻った場合の処理を設定 19 | xhr.onload = function () { 20 | if (xhr.status >= 200 && xhr.status < 300) { 21 | } else { 22 | // エラー処理をここに書く 23 | console.error("Request failed with status: " + xhr.status); 24 | } 25 | }; 26 | 27 | // エラー発生時の処理を設定 28 | xhr.onerror = function () { 29 | console.error("Request failed"); 30 | }; 31 | 32 | // データの送信 33 | xhr.send(); 34 | } 35 | 36 | 37 | document.addEventListener('keydown', (event) => { 38 | console.log(event.key); 39 | if (event.key == 'Enter') { 40 | send(); 41 | } else { 42 | append(event.key); 43 | } 44 | }); 45 | -------------------------------------------------------------------------------- /chart_files/reset.css: -------------------------------------------------------------------------------- 1 | /*** 2 | The new CSS reset - version 1.8.2 (last updated 23.12.2022) 3 | GitHub page: https://github.com/elad2412/the-new-css-reset 4 | ***/ 5 | 6 | /* 7 | Remove all the styles of the "User-Agent-Stylesheet", except for the 'display' property 8 | - The "symbol *" part is to solve Firefox SVG sprite bug 9 | */ 10 | *:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)) { 11 | all: unset; 12 | display: revert; 13 | } 14 | 15 | /* Preferred box-sizing value */ 16 | *, 17 | *::before, 18 | *::after { 19 | box-sizing: border-box; 20 | } 21 | 22 | /* Reapply the pointer cursor for anchor tags */ 23 | a, button { 24 | cursor: revert; 25 | } 26 | 27 | /* Remove list styles (bullets/numbers) */ 28 | ol, ul, menu { 29 | list-style: none; 30 | } 31 | 32 | /* For images to not be able to exceed their container */ 33 | img { 34 | max-inline-size: 100%; 35 | max-block-size: 100%; 36 | } 37 | 38 | /* removes spacing between cells in tables */ 39 | table { 40 | border-collapse: collapse; 41 | } 42 | 43 | /* Safari - solving issue when using user-select:none on the
text input doesn't working */ 44 | input, textarea { 45 | -webkit-user-select: auto; 46 | } 47 | 48 | /* revert the 'white-space' property for textarea elements on Safari */ 49 | textarea { 50 | white-space: revert; 51 | } 52 | 53 | /* minimum style to allow to style meter element */ 54 | meter { 55 | -webkit-appearance: revert; 56 | appearance: revert; 57 | } 58 | 59 | /* preformatted text - use only for this feature */ 60 | pre { 61 | all: revert; 62 | } 63 | 64 | /* reset default text opacity of input placeholder */ 65 | ::placeholder { 66 | color: unset; 67 | } 68 | 69 | /* remove default dot (•) sign */ 70 | ::marker { 71 | content: ""; 72 | } 73 | 74 | /* fix the feature of 'hidden' attribute. 75 | display:revert; revert to element instead of attribute */ 76 | :where([hidden]) { 77 | display: none; 78 | } 79 | 80 | /* revert for bug in Chromium browsers 81 | - fix for the content editable attribute will work properly. 82 | - webkit-user-select: auto; added for Safari in case of using user-select:none on wrapper element*/ 83 | :where([contenteditable]:not([contenteditable="false"])) { 84 | -moz-user-modify: read-write; 85 | -webkit-user-modify: read-write; 86 | overflow-wrap: break-word; 87 | -webkit-line-break: after-white-space; 88 | -webkit-user-select: auto; 89 | } 90 | 91 | /* apply back the draggable feature - exist only in Chromium and Safari */ 92 | :where([draggable="true"]) { 93 | -webkit-user-drag: element; 94 | } 95 | 96 | /* Revert Modal native behavior */ 97 | :where(dialog:modal) { 98 | all: revert; 99 | } 100 | -------------------------------------------------------------------------------- /chart_files/chart.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Skipped minification because the original files appears to be already minified. 3 | * Original file: /npm/chart.js@4.2.0/dist/chart.umd.js 4 | * 5 | * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files 6 | */ 7 | /*! 8 | * Chart.js v4.2.0 9 | * https://www.chartjs.org 10 | * (c) 2023 Chart.js Contributors 11 | * Released under the MIT License 12 | */ 13 | !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).Chart=e()}(this,(function(){"use strict";var t=Object.freeze({__proto__:null,get Colors(){return Ho},get Decimation(){return Yo},get Filler(){return la},get Legend(){return ua},get SubTitle(){return ma},get Title(){return ga},get Tooltip(){return Ta}});function e(){}const i=(()=>{let t=0;return()=>t++})();function s(t){return null==t}function n(t){if(Array.isArray&&Array.isArray(t))return!0;const e=Object.prototype.toString.call(t);return"[object"===e.slice(0,7)&&"Array]"===e.slice(-6)}function o(t){return null!==t&&"[object Object]"===Object.prototype.toString.call(t)}function a(t){return("number"==typeof t||t instanceof Number)&&isFinite(+t)}function r(t,e){return a(t)?t:e}function l(t,e){return void 0===t?e:t}const h=(t,e)=>"string"==typeof t&&t.endsWith("%")?parseFloat(t)/100:+t/e,c=(t,e)=>"string"==typeof t&&t.endsWith("%")?parseFloat(t)/100*e:+t;function d(t,e,i){if(t&&"function"==typeof t.call)return t.apply(i,e)}function u(t,e,i,s){let a,r,l;if(n(t))if(r=t.length,s)for(a=r-1;a>=0;a--)e.call(i,t[a],a);else for(a=0;a