select

Better select widgets in vanilla javascript.  https://p.ce9e.org/select/demo/
git clone https://git.ce9e.org/select.git

commit
6bd483bc565e076e60588d578b416daff98d017f
parent
7356808dd089a0d1c46e5e7a3d2bbcde9b7d2eda
Author
Tobias Bengfort <tobias.bengfort@posteo.de>
Date
2023-08-08 10:02
create utils module

Diffstat

M package.json 1 +
M select.js 27 +--------------------------
M tags.js 16 +---------------
A utils.js 26 ++++++++++++++++++++++++++

4 files changed, 29 insertions, 41 deletions


diff --git a/package.json b/package.json

@@ -13,6 +13,7 @@
   13    13   "files": [
   14    14     "tags.js",
   15    15     "select.js",
   -1    16     "utils.js",
   16    17     "select.css",
   17    18     "README.md",
   18    19     "LICENSE"

diff --git a/select.js b/select.js

@@ -1,29 +1,4 @@
    1    -1 var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
    2    -1 
    3    -1 var KEYS = {
    4    -1 	BACKSPACE: 8,
    5    -1 	ENTER: 13,
    6    -1 	ESC: 27,
    7    -1 	PAGE_UP: 33,
    8    -1 	PAGE_DOWN: 34,
    9    -1 	UP: 38,
   10    -1 	DOWN: 40,
   11    -1 };
   12    -1 
   13    -1 var randomString = function(length) {
   14    -1 	var result = [];
   15    -1 	for (var i = 0; i < length; i++) {
   16    -1 		var k = Math.floor(Math.random() * chars.length);
   17    -1 		result.push(chars[k]);
   18    -1 	}
   19    -1 	return result.join('');
   20    -1 };
   21    -1 
   22    -1 var create = function(html) {
   23    -1 	var tmp = document.createElement('template');
   24    -1 	tmp.innerHTML = html;
   25    -1 	return tmp.content.children[0];
   26    -1 };
   -1     1 import { KEYS, randomString, create } from './utils.js';
   27     2 
   28     3 export class Select {
   29     4 	constructor(id, original) {

diff --git a/tags.js b/tags.js

@@ -1,18 +1,4 @@
    1    -1 var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
    2    -1 
    3    -1 var KEYS = {
    4    -1 	BACKSPACE: 8,
    5    -1 	ENTER: 13,
    6    -1 };
    7    -1 
    8    -1 var randomString = function(length) {
    9    -1 	var result = [];
   10    -1 	for (var i = 0; i < length; i++) {
   11    -1 		var k = Math.floor(Math.random() * chars.length);
   12    -1 		result.push(chars[k]);
   13    -1 	}
   14    -1 	return result.join('');
   15    -1 };
   -1     1 import { KEYS, randomString } from './utils.js';
   16     2 
   17     3 export class TagInput {
   18     4 	constructor(id, original) {

diff --git a/utils.js b/utils.js

@@ -0,0 +1,26 @@
   -1     1 var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
   -1     2 
   -1     3 export var KEYS = {
   -1     4 	BACKSPACE: 8,
   -1     5 	ENTER: 13,
   -1     6 	ESC: 27,
   -1     7 	PAGE_UP: 33,
   -1     8 	PAGE_DOWN: 34,
   -1     9 	UP: 38,
   -1    10 	DOWN: 40,
   -1    11 };
   -1    12 
   -1    13 export var randomString = function(length) {
   -1    14 	var result = [];
   -1    15 	for (var i = 0; i < length; i++) {
   -1    16 		var k = Math.floor(Math.random() * chars.length);
   -1    17 		result.push(chars[k]);
   -1    18 	}
   -1    19 	return result.join('');
   -1    20 };
   -1    21 
   -1    22 export var create = function(html) {
   -1    23 	var tmp = document.createElement('template');
   -1    24 	tmp.innerHTML = html;
   -1    25 	return tmp.content.children[0];
   -1    26 };