custom app form

This commit is contained in:
Fran Jurmanović
2021-06-05 22:06:08 +02:00
parent df61e4efea
commit ff246483b3
9 changed files with 301 additions and 22 deletions

View File

@@ -4,3 +4,5 @@ export { default as index } from "./index-deco";
export { default as closest } from "./closest-deco";
export { default as isTrue } from "./isTrue";
export { default as firstUpper } from "./first-upper";
export { default as query } from "./query-deco";
export { default as querys } from "./querys-deco";

View File

@@ -0,0 +1,15 @@
import { toKebabCase } from "core/utils";
export default function query(proto: Object, key: string): any {
const kebab: string = toKebabCase(key);
return Object.defineProperty(proto, key, {
configurable: true,
get() {
return findQuery(this, kebab);
},
});
}
function findQuery(element: HTMLElement, key: string): HTMLElement {
return element.querySelector(key);
}

View File

@@ -0,0 +1,18 @@
import { toKebabCase } from "core/utils";
export default function querys(proto: Object, key: string): any {
const kebab: string = toKebabCase(key);
return Object.defineProperty(proto, key, {
configurable: true,
get() {
return findQuerys(this, kebab);
},
});
}
function findQuerys(
element: HTMLElement,
key: string
): NodeListOf<HTMLElement> {
return element.querySelectorAll(key);
}