add haxe
This commit is contained in:
commit
0b92dce607
|
|
@ -0,0 +1,118 @@
|
|||
Funcional Components
|
||||
F N
|
||||
Funciones Function = Rust
|
||||
|
||||
Main libreria.
|
||||
|
||||
import Desfuro;
|
||||
import hxd.File;
|
||||
import hxd.File.BrowseSelect;
|
||||
|
||||
|
||||
class Funciones {
|
||||
static var staticField:Int;
|
||||
var x:Int;
|
||||
var y:Int;
|
||||
|
||||
public function new(x, y) {
|
||||
this.x = x;
|
||||
this.y = y;
|
||||
}
|
||||
|
||||
public function traces() {
|
||||
return '$x $y';
|
||||
}
|
||||
|
||||
public function tricer() {
|
||||
var d = Funciones.staticField = 20;
|
||||
return '$x $y tricer, $d';
|
||||
}
|
||||
|
||||
}
|
||||
var desfurito:Desfuro;
|
||||
|
||||
class Main {
|
||||
static function main() {
|
||||
var v = new Funciones(1,2);
|
||||
trace(v.traces());
|
||||
|
||||
var vtraces = new Funciones(1,2).traces();
|
||||
trace(vtraces);
|
||||
|
||||
var vstraces = new Funciones(1,2).tricer();
|
||||
trace(vstraces.toUpperCase());
|
||||
|
||||
|
||||
|
||||
// Importando lirerias | Public
|
||||
var v = new Desfuro("Chaladas", 0);
|
||||
|
||||
v.dx = 0;
|
||||
trace(v.desfuros());
|
||||
|
||||
// Otra forma de importar | static y public
|
||||
var t = Desfuro.texto_desfuricado("Textificado");
|
||||
|
||||
t.dx = 1;
|
||||
|
||||
trace(t.dx);
|
||||
|
||||
|
||||
// Guardar datos
|
||||
// File.saveBytes("test.png", pixels.toPNG());
|
||||
|
||||
var selector:BrowseSelect -> Void;
|
||||
var relativo_directorio:Null<BrowseOptions> ;
|
||||
// var otros:Null<BrowseOptions> ;
|
||||
// var Nanos:Null<Bool> ;
|
||||
|
||||
// // selector.bind();
|
||||
File.browse(selector, relativo_directorio);
|
||||
|
||||
// // trace(selector);
|
||||
// trace(relativo_directorio.defaultPath);
|
||||
|
||||
BrowseSelect
|
||||
|
||||
// Crear dirrectorio
|
||||
// File.createDirectory("DD");
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
----------
|
||||
|
||||
Desfuro.hx
|
||||
|
||||
|
||||
package;
|
||||
|
||||
|
||||
class Desfuro {
|
||||
var v:String;
|
||||
|
||||
public var dx : Float;
|
||||
|
||||
public function new(v, ?dx) {
|
||||
this.dx = dx;
|
||||
this.v = v;
|
||||
}
|
||||
|
||||
public function desfuros() {
|
||||
return v;
|
||||
}
|
||||
|
||||
@:allow(Main)
|
||||
public static function texto_desfuricado(texto) {
|
||||
var staticField:Int;
|
||||
var nativo : String;
|
||||
|
||||
var t = new Desfuro(texto);
|
||||
|
||||
// return t.v;
|
||||
return t;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,567 @@
|
|||
Haxe Dirrectorio
|
||||
|
||||
|
||||
-cp src
|
||||
-D analyzer-optimize
|
||||
-main Main
|
||||
--js dist/js/main.js
|
||||
|
||||
--js dist/main.js
|
||||
|
||||
|
||||
|
||||
|
||||
<- Comandos
|
||||
haxe --version | vercion de haxe
|
||||
|
||||
haxe build.hxml | contruir el projecto
|
||||
|
||||
Ctl + P & > | >Haxe: Initialize Project
|
||||
|
||||
// ! No recuerdo
|
||||
haxelib |
|
||||
|
||||
haxelib --global update haxelib | actualizar haxelib
|
||||
|
||||
<- Targets Build
|
||||
<-- JavaScript
|
||||
-cp src
|
||||
-D analyzer-optimize
|
||||
-main Main
|
||||
|
||||
--js dist/js/main.js
|
||||
|
||||
<- Codigo
|
||||
<-- Impotar Librerias
|
||||
<--- Navegador
|
||||
// * Navegador
|
||||
import js.Browser;
|
||||
|
||||
|
||||
<-- Variables
|
||||
|
||||
var variable = "Soy Una Variable"
|
||||
|
||||
var bool = true;
|
||||
var string = "String";
|
||||
var int = 1;
|
||||
var float = 1.0;
|
||||
|
||||
// ? Asignar typo de variable
|
||||
var variable_typo_bool: Bool = true;
|
||||
var variable_typo_string: String = "String";
|
||||
var variable_typo_int: Int = 1;
|
||||
var variable_typo_float: Float = 1.0;
|
||||
|
||||
// ? Variable Vacio
|
||||
var vacio: Void = null;
|
||||
|
||||
<-- Funciones
|
||||
|
||||
<--- Imprmir en pantalla
|
||||
trace("Imprimir")
|
||||
|
||||
-----------------------------------
|
||||
// ! Codigos
|
||||
|
||||
var button = Browser.document.createButtonElement();
|
||||
button.textContent = "Click me!";
|
||||
button.onclick = (event) -> Browser.alert("Haxe is great");
|
||||
Browser.document.body.appendChild(button);
|
||||
|
||||
|
||||
// ! Codigo 2
|
||||
brave://settings/cookies
|
||||
|
||||
import js.Set;
|
||||
import js.Browser;
|
||||
import js.Cookie;
|
||||
|
||||
class Main {
|
||||
|
||||
static function main() {
|
||||
// * Crear Cokies
|
||||
Cookie.set("Names", "Fernando");
|
||||
|
||||
var names = Cookie.get("Names");
|
||||
|
||||
trace(names);
|
||||
|
||||
var names2 = Cookie.exists("Names");
|
||||
|
||||
trace(names2);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// ! Codigo 3
|
||||
|
||||
import js.Set;
|
||||
import js.Browser;
|
||||
import js.Cookie;
|
||||
|
||||
|
||||
function crear_cookie(nombre: String, valor: String):Void {
|
||||
Cookie.set(nombre, valor);
|
||||
}
|
||||
|
||||
class Main {
|
||||
|
||||
static function main() {
|
||||
// * Crear Cokies
|
||||
// Cookie.set("Facultad", "Bardero", 300);
|
||||
|
||||
var names = Cookie.get("Names");
|
||||
var facultad1 = Cookie.get("Facultad");
|
||||
|
||||
trace(names);
|
||||
trace(facultad1);
|
||||
|
||||
var names2 = Cookie.exists("Names");
|
||||
var facultad2 = Cookie.exists("Facultad");
|
||||
|
||||
trace(names2);
|
||||
trace(facultad2);
|
||||
|
||||
Cookie.remove("Names");
|
||||
Cookie.remove("Facultad");
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// ! cCodigo 4 Cookie
|
||||
|
||||
import js.Set;
|
||||
import js.Browser;
|
||||
import js.Cookie;
|
||||
|
||||
function crear_cookie(nombre: String, valor: String):Void {
|
||||
// * 10 minutos en segundos
|
||||
var expira_minutos: Int = 600;
|
||||
|
||||
Cookie.set(nombre, valor, expira_minutos);
|
||||
}
|
||||
|
||||
function borrar_cookie(nombre: String) {
|
||||
Cookie.remove(nombre);
|
||||
}
|
||||
|
||||
function obtener_cookie(nombre: String):String {
|
||||
return Cookie.get(nombre);
|
||||
}
|
||||
|
||||
function obtener_todas_cookies():Void {
|
||||
Cookie.all();
|
||||
}
|
||||
|
||||
class Main {
|
||||
|
||||
static function main() {
|
||||
// * Creando Cookie
|
||||
|
||||
var email = "Email";
|
||||
var email_valor = "Email@maills";
|
||||
|
||||
crear_cookie(email, email_valor);
|
||||
var valor = obtener_cookie(email);
|
||||
|
||||
trace(valor);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// ! Codigo + 5
|
||||
// ? Json
|
||||
import haxe.xml.Parser;
|
||||
import js.Browser;
|
||||
import js.lib.Object;
|
||||
import haxe.Json;
|
||||
|
||||
function crear_objeto(nombre: String, edad: Int) {
|
||||
// ? {nombre: Variable, nombre: Variable}
|
||||
var objeto = {name:nombre, edad:edad};
|
||||
return objeto;
|
||||
}
|
||||
|
||||
function parse_json(text: String) {
|
||||
// * Parse es para que haxe entienda el texto.
|
||||
// * Parce es mas para los [Json]
|
||||
Json.parse(text);
|
||||
}
|
||||
|
||||
function stringify_json(text):Dynamic {
|
||||
// * var remplazo
|
||||
// * Convierte una cadena texto en json
|
||||
// * "\t" = Al salto de linea
|
||||
var a_json:Dynamic = Json.stringify(text,"\t");
|
||||
return a_json;
|
||||
}
|
||||
|
||||
class Main {
|
||||
static function main() {
|
||||
trace(crear_objeto("juan",21));
|
||||
|
||||
var objeto = crear_objeto("Dicho",33);
|
||||
|
||||
trace(objeto);
|
||||
|
||||
trace(stringify_json(objeto));
|
||||
|
||||
trace(objeto.edad);
|
||||
}
|
||||
}
|
||||
|
||||
// ! Codigo +
|
||||
// ? Json
|
||||
import haxe.Json;
|
||||
|
||||
function crear_objeto(nombre: String, edad: Int) {
|
||||
// ? {nombre: Variable, nombre: Variable}
|
||||
var objeto = {name:nombre, edad:edad};
|
||||
return objeto;
|
||||
}
|
||||
|
||||
function parse_json(text: String) {
|
||||
// * Parse es para que haxe entienda el texto.
|
||||
// * Parce es mas para los [Json]
|
||||
Json.parse(text);
|
||||
}
|
||||
|
||||
function stringify_json(text):Dynamic {
|
||||
// * var remplazo
|
||||
// * Convierte una cadena texto en json
|
||||
// * "\t" = Al salto de linea
|
||||
var a_json:Dynamic = Json.stringify(text,"\t");
|
||||
return a_json;
|
||||
}
|
||||
|
||||
class Main {
|
||||
static function main() {
|
||||
trace(crear_objeto("juan",21));
|
||||
|
||||
var objeto = crear_objeto("Dicho",33);
|
||||
|
||||
trace(objeto);
|
||||
|
||||
trace(stringify_json(objeto));
|
||||
|
||||
trace(objeto.edad);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ! Codigo ! Crear bottones
|
||||
|
||||
import js.lib.Function;
|
||||
import js.html.ButtonElement;
|
||||
import js.Browser;
|
||||
import js.Lib;
|
||||
import js.html.Document;
|
||||
import js.html.DOMElement;
|
||||
import js.html.Element;
|
||||
import js.html.EventListener;
|
||||
import js.html.AddEventListenerOptions;
|
||||
import js.html.EventTarget;
|
||||
import haxe.Constraints;
|
||||
|
||||
// ? Exponer las libreria js a html con
|
||||
// ! @:expose
|
||||
@:expose
|
||||
function evento(arg) {
|
||||
trace("Alertar");
|
||||
trace( "keypress" + arg );
|
||||
}
|
||||
|
||||
function evento_click(arg) {
|
||||
trace("Alertar");
|
||||
trace( "click " + arg.x, arg.y );
|
||||
}
|
||||
|
||||
// ? Obtener el elemento ID
|
||||
function obtener_elemento_por_id(id:String) {
|
||||
var button = Browser.document.getElementById(id);
|
||||
trace('$id $button');
|
||||
}
|
||||
|
||||
// ? Escuchar el objeto & Keypress
|
||||
function agregar_elemento_escuchador_keypress(id:String) {
|
||||
// * 1 Tomar el id #
|
||||
var button = Browser.document.getElementById(id);
|
||||
|
||||
// * 2 Escuchar "Keypress" | Agregar el evento
|
||||
button.addEventListener("keypress", evento);
|
||||
// * click
|
||||
// * 3 Imprimir
|
||||
trace('$id $button Escuchador');
|
||||
|
||||
// * 4 Compilar
|
||||
}
|
||||
|
||||
function agregar_elemento_escuchador_click(id:String) {
|
||||
// * 1 Tomar el id #
|
||||
var button = Browser.document.getElementById(id);
|
||||
|
||||
// * 2 Escuchar "Keypress" | Agregar el evento
|
||||
button.addEventListener("click", evento_click);
|
||||
}
|
||||
|
||||
|
||||
// ? Creando botons
|
||||
class Main {
|
||||
static function main() {
|
||||
// ? Crea el boton
|
||||
var button = Browser.document.createButtonElement();
|
||||
// ? Pone texto en el botton
|
||||
button.textContent = "Click me!";
|
||||
// ? Activar el oneclick
|
||||
button.onclick = (event) -> trace("Alertar");
|
||||
// ? Para poner el bottonen eldocumento
|
||||
Browser.document.body.appendChild(button);
|
||||
|
||||
// ? Funcion obtener por id
|
||||
obtener_elemento_por_id("objeto_demo");
|
||||
// ? Escuchar el objeto
|
||||
agregar_elemento_escuchador_keypress("objeto_demo");
|
||||
|
||||
agregar_elemento_escuchador_click("objeto_click");
|
||||
}
|
||||
}
|
||||
|
||||
// ? Html
|
||||
<style type="text/css">
|
||||
div {
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
background-color: red;
|
||||
}
|
||||
</style>
|
||||
<button onclick="Main.evento()">Soy un botton 1</button>
|
||||
<button ondblclick="Main.evento()">Soy un botton 2</button>
|
||||
|
||||
<div onclick="Main.evento()"></div>
|
||||
|
||||
<input type="text" onfocus="Main.evento()">
|
||||
<input type="text" onblur="Main.evento()">
|
||||
|
||||
<button id="objeto_click">Clickeame clic</button>
|
||||
<input type="text" id="objeto_demo">
|
||||
|
||||
<script src="js/main.js"></script>
|
||||
|
||||
|
||||
|
||||
// ! Nosoy un botcodigo
|
||||
|
||||
import js.Browser;
|
||||
import js.lib.Function;
|
||||
import js.html.ButtonElement;
|
||||
import js.Browser;
|
||||
import js.Lib;
|
||||
import js.html.Document;
|
||||
import js.html.DOMElement;
|
||||
import js.html.Element;
|
||||
import js.html.EventListener;
|
||||
import js.html.AddEventListenerOptions;
|
||||
import js.html.EventTarget;
|
||||
import haxe.Constraints;
|
||||
import js.html.Document;
|
||||
|
||||
function funciona( arg ) {
|
||||
trace("Funciona");
|
||||
trace(arg);
|
||||
|
||||
if (arg.isTrusted == true) {
|
||||
trace("No bot");
|
||||
}
|
||||
}
|
||||
|
||||
// @:expose
|
||||
function obtener_elemento_por_tag_nombre(id:String) {
|
||||
// * 1 Tomar el array nombres #
|
||||
var documento = Browser.document.getElementsByTagName(id);
|
||||
|
||||
documento[0].addEventListener("click", funciona);
|
||||
|
||||
// * 2 Escuchar "Keypress" | Agregar el evento
|
||||
trace(documento + " Nada");
|
||||
trace("test");
|
||||
// documento. = (event) -> trace("Alertar");
|
||||
}
|
||||
|
||||
|
||||
// ? Creando botons
|
||||
class Main {
|
||||
static function main() {
|
||||
obtener_elemento_por_tag_nombre("body");
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// ! Codigo Frames Lv1
|
||||
|
||||
import js.html.Image;
|
||||
import js.Browser;
|
||||
import js.html.CanvasElement;
|
||||
import js.html.Window;
|
||||
import js.html.CanvasRenderingContext2D;
|
||||
|
||||
|
||||
|
||||
var canvas = cast Browser.document.getElementById("myCanvas");
|
||||
var context = canvas.getContext("2d");
|
||||
|
||||
var canvas_width = canvas.width = 600;
|
||||
var canvas_height = canvas.height = 600;
|
||||
|
||||
var player_image = new Image();
|
||||
var spritewidth = 575;
|
||||
var spriteheight = 523;
|
||||
|
||||
var frame_x:Int = 0;
|
||||
var frame_y:Int = 0;
|
||||
|
||||
var game_frame = 0;
|
||||
var staggerFrames = 5;
|
||||
|
||||
class Main {
|
||||
static function main() {
|
||||
animate();
|
||||
}
|
||||
}
|
||||
|
||||
@:expose
|
||||
function animate() {
|
||||
player_image.src = "img/shadow_dog.png";
|
||||
|
||||
context.clearRect(0, 0, canvas_width, canvas_height);
|
||||
|
||||
// context.fillRect(x,50,100,100);
|
||||
// ? s? = Sorce + ?. (Cortar de la imagen)
|
||||
// ? d? = destino + ?. (El destino de la imagen)
|
||||
// context.drawImage(image, sx, sy, sw, sh, dx, dy, dw, dh);
|
||||
|
||||
// ? 0, 1, 2, etc * spritewidth = frames
|
||||
// ? 0, 1, 2, et * spriteheight = frames
|
||||
context.drawImage(player_image, frame_x * spritewidth, frame_y * spriteheight, spritewidth, spriteheight, 0, 0, spritewidth, spriteheight);
|
||||
|
||||
if (game_frame % staggerFrames == 0) {
|
||||
if (frame_x < 6) frame_x += 1;
|
||||
else frame_x = 0;
|
||||
}
|
||||
|
||||
game_frame += 1;
|
||||
Browser.window.requestAnimationFrame(cast animate);
|
||||
}
|
||||
|
||||
// function obtener_elemento_por_id(id:String) {
|
||||
// var id = Browser.document.getElementById(id);
|
||||
// return id;
|
||||
// }
|
||||
|
||||
|
||||
// ! Codigo animacion lv2
|
||||
import js.lib.Math;
|
||||
import js.html.Image;
|
||||
import js.Browser;
|
||||
import js.html.CanvasElement;
|
||||
import js.html.Window;
|
||||
import js.html.CanvasRenderingContext2D;
|
||||
|
||||
var canvas = cast Browser.document.getElementById("myCanvas");
|
||||
var context = canvas.getContext("2d");
|
||||
|
||||
var canvas_width = canvas.width = 600;
|
||||
var canvas_height = canvas.height = 600;
|
||||
|
||||
var player_image = new Image();
|
||||
var sprite_width = 575;
|
||||
var sprite_height = 523;
|
||||
|
||||
var frame_x = 0;
|
||||
var frame_y = 0;
|
||||
|
||||
var game_frame = 0;
|
||||
// ? Animacion frames
|
||||
var stagger_frames = 5;
|
||||
|
||||
function animate() {
|
||||
player_image.src = "img/shadow_dog.png";
|
||||
context.clearRect(0, 0, canvas_width, canvas_height);
|
||||
|
||||
// ? Ultimo row. Las collumnas de la animacion
|
||||
var position = Math.floor(game_frame / stagger_frames) % 6;
|
||||
frame_x = sprite_width * position;
|
||||
|
||||
context.drawImage(player_image, frame_x, frame_y * sprite_height, sprite_width, sprite_height, 0, 0, sprite_width, sprite_height);
|
||||
|
||||
game_frame += 1;
|
||||
Browser.window.requestAnimationFrame(cast animate);
|
||||
}
|
||||
|
||||
class Main {
|
||||
static function main() {
|
||||
animate();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// ! Mkdir codum.
|
||||
import haxe.Log;
|
||||
import sys.FileSystem;
|
||||
import Sys;
|
||||
|
||||
function trace_null(x) {
|
||||
Log.trace(x, null);
|
||||
}
|
||||
|
||||
function mkdir(path:String) {
|
||||
FileSystem.createDirectory(path);
|
||||
}
|
||||
|
||||
|
||||
function mkdirs(path:String, objetos:Array<Dynamic>) {
|
||||
// var z:Int = 0;
|
||||
for (dir in objetos) {
|
||||
// trace(dir);
|
||||
var resultado:String = Std.string('$path/$dir');
|
||||
trace(resultado);
|
||||
// z += 1;
|
||||
// trace(z);
|
||||
// mkdir(resultado);
|
||||
}
|
||||
}
|
||||
|
||||
class Main {
|
||||
static function main() {
|
||||
var userInputInt:String;
|
||||
while (true) {
|
||||
trace_null('0 = Close');
|
||||
trace_null('1 = Mkdir');
|
||||
// trace('0 = Mkdir');
|
||||
userInputInt = Sys.stdin().readLine();
|
||||
|
||||
trace_null('Input: $userInputInt');
|
||||
|
||||
if (Std.parseInt(userInputInt) == 0) {
|
||||
break;
|
||||
}
|
||||
if (Std.parseInt(userInputInt) == 1) {
|
||||
var archivo = ["Achivo", "articulos"];
|
||||
|
||||
mkdir(archivo[1]);
|
||||
mkdir("Hello/2");
|
||||
mkdirs("Path", archivo);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ! Old Mkdir
|
||||
function mkdirs(path:String, objetos:Array<Dynamic>) {
|
||||
for (dir in objetos) {
|
||||
var resultado:String = Std.string('$path/$dir');
|
||||
mkdir(resultado);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
|
||||
# Haxe
|
||||
|
||||
```sh
|
||||
haxe -main Main --interp
|
||||
|
||||
```
|
||||
|
||||
[Haxe.org](https://haxe.org/)
|
||||
|
||||
[Haxe doc](https://haxe.org/manual/introduction.html)
|
||||
|
||||
[Haxe git](https://github.com/HaxeFoundation/haxe)
|
||||
|
||||
[heaps.io](https://heaps.io/index.html)
|
||||
|
||||
|
||||
## HXML
|
||||
|
||||
[hAXE HXML](https://haxe.org/manual/compiler-usage-hxml.html)
|
||||
|
|
@ -0,0 +1 @@
|
|||
# haxe calc hash
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
-cp src
|
||||
-D analyzer-optimize
|
||||
-main Main
|
||||
--interp
|
||||
# --neko node.n
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
all:
|
||||
haxe build.hxml --debug
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
import lib.hash.Calc;
|
||||
|
||||
class Main {
|
||||
static function main() {
|
||||
trace("Hello");
|
||||
var archivo = new Calc("./test.txt", HashMd5);
|
||||
archivo.fileClac();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
package lib.hash;
|
||||
|
||||
import haxe.crypto.Md5;
|
||||
import sys.io.File;
|
||||
|
||||
|
||||
enum HashType {
|
||||
HashMd5;
|
||||
HashSha1;
|
||||
HashSha224;
|
||||
HashSha256;
|
||||
}
|
||||
|
||||
class Calc {
|
||||
var file:String;
|
||||
var hashTypes:HashType;
|
||||
|
||||
public function new(file:String, hashType:HashType) {
|
||||
this.file = file;
|
||||
this.hashTypes = hashType;
|
||||
}
|
||||
|
||||
public function fileClac() {
|
||||
|
||||
|
||||
|
||||
var encode = Md5.encode(file);
|
||||
|
||||
trace(encode);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
Este contenido es una prueba de todo los contenidos existentes y por existir
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
-cp src
|
||||
-D analyzer-optimize
|
||||
-main Main
|
||||
--interp
|
||||
# --neko node.n
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
all:
|
||||
haxe build.hxml --debug
|
||||
Binary file not shown.
|
|
@ -0,0 +1,34 @@
|
|||
// ! Como funcionan lasclases mas o meno.s
|
||||
|
||||
class Funciones {
|
||||
static var staticField:Int;
|
||||
var x:Int;
|
||||
var y:Int;
|
||||
|
||||
public function new(x, y) {
|
||||
this.x = x;
|
||||
this.y = y;
|
||||
}
|
||||
|
||||
public function traces() {
|
||||
return '$x $y';
|
||||
}
|
||||
|
||||
public function tricer() {
|
||||
var d = Funciones.staticField = 20;
|
||||
return '$x $y tricer, $d';
|
||||
}
|
||||
}
|
||||
|
||||
class Main {
|
||||
static function main() {
|
||||
var v = new Funciones(1,2);
|
||||
trace(v.traces());
|
||||
|
||||
var vtraces = new Funciones(1,2).traces();
|
||||
trace(vtraces);
|
||||
|
||||
var vstraces = new Funciones(1,2).tricer();
|
||||
trace(vstraces.toUpperCase());
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
# Haxe Java
|
||||
|
||||
```sh
|
||||
haxelib install hxjava
|
||||
```
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
-cp src
|
||||
-D analyzer-optimize
|
||||
-main Main
|
||||
--java bin
|
||||
|
||||
# java -jar bin/Main.jar
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
all:
|
||||
haxe build.hxml --debug
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
class Main {
|
||||
static function main() {
|
||||
trace("Hello, world!");
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,217 @@
|
|||
# Haxe project
|
||||
|
||||
This is an example Haxe project scaffolded.
|
||||
|
||||
* `src/Main.hx`: Entry point Haxe source file
|
||||
* `build.hxml`: Haxe command line file used to build the project
|
||||
* `README.md`: This file
|
||||
|
||||
|
||||
## Notes
|
||||
|
||||
```
|
||||
import js.lib.Object;
|
||||
import js.html.Document;
|
||||
import js.*;
|
||||
import haxe.Template;
|
||||
|
||||
import js.html.EffectTiming;
|
||||
import js.html.Clients;
|
||||
import js.html.Client;
|
||||
import js.html.eme.MediaEncryptedEvent;
|
||||
import js.html.Window;
|
||||
import js.html.CanvasElement;
|
||||
|
||||
|
||||
class Main {
|
||||
static function main() {
|
||||
// Syntax.code("
|
||||
// let all = document.queryC:\Users\user\source\git_loc\hexe\zuikiuuSelectorAll('*');
|
||||
// for(var i=0;i<el.length;i++){
|
||||
// all[i].style.margin = '0px';
|
||||
// all[i].style.padding = '0px';
|
||||
// }
|
||||
// ");
|
||||
|
||||
// var all = Browser.document.querySelectorAll("*");
|
||||
// for (i in 0...all.length) {
|
||||
// trace(all[i]);
|
||||
// all[i].normalize;
|
||||
// all[i].
|
||||
// };
|
||||
|
||||
|
||||
var sample = "My name is <strong>::name::</strong>, <em>::age::</em> years old";
|
||||
var user = {name: "Mark", age: 30};
|
||||
var template = new haxe.Template(sample);
|
||||
var output = template.execute(user);
|
||||
trace(output);
|
||||
|
||||
var doc = Browser.window.document;
|
||||
var html = Browser.document.getElementsByTagName("html");
|
||||
var htmlStyle = html[0].style;
|
||||
htmlStyle.width = "100vw";
|
||||
htmlStyle.height = "100vh";
|
||||
htmlStyle.display = "flex";
|
||||
|
||||
// var mainDiv
|
||||
|
||||
var template = Browser.document.createDivElement();
|
||||
|
||||
var nav = Browser.document.createElement("nav");
|
||||
var navStyle = nav.style;
|
||||
navStyle.backgroundColor = "#C14907";
|
||||
navStyle.width = "100vw";
|
||||
navStyle.height = "200px";
|
||||
Browser.document.body.appendChild(nav);
|
||||
|
||||
var aside = Browser.document.createElement("aside");
|
||||
var asideStyle = aside.style;
|
||||
asideStyle.width = "200px";
|
||||
asideStyle.height = "200px";
|
||||
// asideStyle.display = "inline-block";
|
||||
// asideStyle.justifyContent = "center";
|
||||
asideStyle.backgroundColor = "#DA9EFB";
|
||||
Browser.document.body.appendChild(aside);
|
||||
|
||||
var myLista =
|
||||
'
|
||||
<ul>
|
||||
<li>
|
||||
<span>Span</span>
|
||||
</li>
|
||||
<li>
|
||||
<button id="haxe" type="button">Haxe</button>
|
||||
</li>
|
||||
<li>
|
||||
<button id="godot" type="button">Godot</button>
|
||||
</li>
|
||||
</ul>
|
||||
';
|
||||
|
||||
var haxe = Browser.document.getElementById("haxe");
|
||||
// haxe.addEventListener()
|
||||
// 1 Agregar html con template
|
||||
// 3 Agregar el texto completo en el div
|
||||
// 4 Agregar divs, con inner html
|
||||
// 5 formas. Agregar el html con templates o con divs|
|
||||
|
||||
// 5 Agregar templates con divs, El estylo con clases queris y for in
|
||||
// 0 Crear el div
|
||||
// 1 Agregar la clase
|
||||
// 2 Agregar el estylo
|
||||
// 3 Agregar el template
|
||||
// 4 Agregarlo al html inner
|
||||
|
||||
// ? Agregar el div
|
||||
// ? Agregar la clase
|
||||
// ? Agregar el estylo
|
||||
var divH1 = Browser.document.createDivElement();
|
||||
divH1.setAttribute("id", "divH1");
|
||||
var divH1IdSyle = Browser.document.getElementById("divH1");
|
||||
// divH1IdSyle.style
|
||||
|
||||
// ? Agregar el texto
|
||||
// ? Comprimir eltexto
|
||||
var textH1 = "<h1>Notas Haxe ::notas::</h1>";
|
||||
var textH1Trim = StringTools.ltrim(textH1);
|
||||
|
||||
// ? Agregar el template
|
||||
var textH1TrimTemplate = new haxe.Template(textH1Trim);
|
||||
var notas = {notas: 10};
|
||||
var notasTemplate = textH1TrimTemplate.execute(notas);
|
||||
// ? Imprimir el template
|
||||
template.innerHTML = notasTemplate;
|
||||
|
||||
|
||||
// // Tomamos la lista
|
||||
// var myLista = "
|
||||
// <ul>
|
||||
// <li>::name::</li>
|
||||
// </ul>
|
||||
// ";
|
||||
// // Lo comprimimos
|
||||
// var myListaTrim = StringTools.ltrim(myLista);
|
||||
|
||||
// // Agregamos la funcionalidad
|
||||
// var user = {name: "Mark"};
|
||||
|
||||
// // Agregamos la funcionalidad
|
||||
// var templates = new haxe.Template(myListaTrim);
|
||||
|
||||
// var output = templates.execute(user);
|
||||
|
||||
// template.textContent = output;
|
||||
// template.innerHTML = output;
|
||||
|
||||
var ul = Browser.document.createElement('ul');
|
||||
var li = Browser.document.createElement('li');
|
||||
|
||||
li.appendChild(Browser.document.createTextNode("Four"));
|
||||
ul.appendChild(li);
|
||||
Browser.document.body.appendChild(ul);
|
||||
|
||||
ul.innerHTML = myLista;
|
||||
|
||||
|
||||
var section = Browser.document.createElement("section");
|
||||
var sectionStyle = section.style;
|
||||
sectionStyle.backgroundColor = "#0749C1";
|
||||
sectionStyle.width = "200px";
|
||||
sectionStyle.height = "100px";
|
||||
// sectionStyle.display = "flex";
|
||||
// sectionStyle.display = "inline-block";
|
||||
// sectionStyle.justifyContent = "center";
|
||||
Browser.document.body.appendChild(section);
|
||||
section.appendChild(template);
|
||||
|
||||
|
||||
var footer = Browser.document.createElement("footer");
|
||||
var footerStyle = footer.style;
|
||||
footerStyle.backgroundColor = "#F7B63D";
|
||||
footerStyle.width = "100vw";
|
||||
footerStyle.height = "200px";
|
||||
Browser.document.body.appendChild(footer);
|
||||
|
||||
|
||||
|
||||
|
||||
// var template = Browser.document.createDivElement();
|
||||
// var templateStyle = template.style;
|
||||
// templateStyle.backgroundColor = "#819830";
|
||||
// templateStyle.width = "100vw";
|
||||
// templateStyle.height = "100px";
|
||||
|
||||
|
||||
// // Browser.document.body.firstElementChild(template);
|
||||
// // Browser.document.body.firstElementChild(template);
|
||||
|
||||
// // Tomamos la lista
|
||||
// var myLista = "
|
||||
// <ul>
|
||||
// <li>::name::</li>
|
||||
// </ul>
|
||||
// ";
|
||||
// // Lo comprimimos
|
||||
// var myListaTrim = StringTools.ltrim(myLista);
|
||||
|
||||
// // Agregamos la funcionalidad
|
||||
// var user = {name: "Mark"};
|
||||
|
||||
// // Agregamos la funcionalidad
|
||||
// var templates = new haxe.Template(myListaTrim);
|
||||
|
||||
// var output = templates.execute(user);
|
||||
|
||||
// template.textContent = output;
|
||||
// template.innerHTML = output;
|
||||
|
||||
|
||||
// Browser.document.body.appendChild(template);
|
||||
}
|
||||
}
|
||||
|
||||
class Notas {
|
||||
|
||||
}
|
||||
```
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
-cp src
|
||||
-D analyzer-optimize
|
||||
-main Main
|
||||
|
||||
--js dist/main.js
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
-cp src
|
||||
-D analyzer-optimize
|
||||
-main Main
|
||||
|
||||
# haxelib install hxnodejs
|
||||
-lib hxnodejs
|
||||
--js dist/node.js
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Document</title>
|
||||
</head>
|
||||
<body>
|
||||
<link rel="stylesheet" href="main.css">
|
||||
|
||||
<script src="main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
/* * {
|
||||
box-sizing: border-box;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
} */
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
body * {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.folders::after .folders::after {
|
||||
padding-left: 50px;
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,2 @@
|
|||
all:
|
||||
haxe build.hxml --debug
|
||||
|
|
@ -0,0 +1,333 @@
|
|||
import js.html.AddEventListenerOptions;
|
||||
import js.html.HTMLCollection;
|
||||
import js.html.Element;
|
||||
import js.html.DivElement;
|
||||
import js.lib.Object;
|
||||
import js.html.Document;
|
||||
import js.*;
|
||||
import haxe.Template;
|
||||
import js.html.EffectTiming;
|
||||
import js.html.Clients;
|
||||
import js.html.Client;
|
||||
import js.html.eme.MediaEncryptedEvent;
|
||||
import js.html.Window;
|
||||
import js.html.CanvasElement;
|
||||
|
||||
class Main {
|
||||
static function main() {
|
||||
// ! Cosas que arreglar. Utilizar el attributo flex | flexContainer | display: flex;
|
||||
var nav = StaticWeb.semanticContainer("nav","98vw","100px", null,"solid","5px");
|
||||
|
||||
// var mid = StaticWeb.semanticContainer("mid", "100%", "100%", "null", "solid", "7px");
|
||||
var aside = StaticWeb.semanticContainer("aside","20vw","500px", null,"solid","0px");
|
||||
var section = StaticWeb.semanticContainer("section","77vw","500px", null,"solid","0px");
|
||||
|
||||
StaticWeb.semanticContainer("footer","98vw","300px", null,"solid","5px");
|
||||
|
||||
// StaticWeb.notasContainer('<style>p {background-color: red}</style><ul><li>dd</li></ul><p>Test<p><h1>Texto</h1>',null,nav,null);
|
||||
|
||||
|
||||
// StaticWeb.notasContainer('<style>p {background-color: red}</style><ul><li>dd</li></ul><p>Test<p><h1>Texto</h1>',null,nav,null);
|
||||
|
||||
StaticWeb.notasContainer('<ul class="test"><li>❤️❤️dd</li></ul><p>Test<p><h1>Texto</h1>',null,nav,null);
|
||||
// StaticWeb.styleClass("test", "10px", "10px", "#F7B63D");
|
||||
|
||||
|
||||
// ? Programacion
|
||||
// ? Notas
|
||||
// ? Programas
|
||||
var hierarchy = StaticWeb.hierarchy("Raiz", aside);
|
||||
|
||||
|
||||
var folders0 = StaticWeb.folders("Programacion", hierarchy);
|
||||
StaticWeb.files("Haxe", folders0);
|
||||
StaticWeb.files("Files", folders0);
|
||||
StaticWeb.files("Files", folders0);
|
||||
var subfolders0 = StaticWeb.folders("Folders", folders0);
|
||||
StaticWeb.files("Files", subfolders0);
|
||||
|
||||
var folders1 = StaticWeb.folders("Programas", hierarchy);
|
||||
StaticWeb.files("Files", folders1);
|
||||
|
||||
var folders2 = StaticWeb.folders("Notas", hierarchy);
|
||||
StaticWeb.files("Files", folders2);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
class StaticWeb {
|
||||
static public function semanticContainer(typeElement:String,w:String,h:String,?color:String,?borderType:String,?borderPx:String,?borderColor:String,?display:String) {
|
||||
var type = Browser.document.createElement(typeElement);
|
||||
type.setAttribute("id", typeElement);
|
||||
var typeStyle = type.style;
|
||||
typeStyle.backgroundColor = color;
|
||||
typeStyle.width = w;
|
||||
typeStyle.height = h;
|
||||
typeStyle.border = borderType;
|
||||
typeStyle.borderWidth = borderPx;
|
||||
typeStyle.borderColor = borderColor;
|
||||
typeStyle.float = "left";
|
||||
typeStyle.overflowX = "hidden";
|
||||
typeStyle.overflowY = "auto";
|
||||
typeStyle.textAlign = "center";
|
||||
typeStyle.padding = "0";
|
||||
typeStyle.margin = "0";
|
||||
|
||||
Browser.document.body.appendChild(type);
|
||||
|
||||
return type;
|
||||
}
|
||||
|
||||
static public function notasContainer(texto:String,?typeElement:String,container:Element,?expresiones:Object,?clases:String) {
|
||||
// var type = Browser.document.createElement("div");
|
||||
// type.setAttribute()
|
||||
var textTrim = texto;
|
||||
var template = new haxe.Template(textTrim);
|
||||
|
||||
var expresiones = expresiones;
|
||||
var ejecutar = template.execute(expresiones);
|
||||
|
||||
container.innerHTML = ejecutar;
|
||||
}
|
||||
|
||||
static public function styleClass(className:String, padding:String, margin:String, background:String) {
|
||||
var clases = Browser.document.getElementsByClassName(className);
|
||||
|
||||
// clases[0].style;
|
||||
for (i in 0...clases.length) {
|
||||
var iStyle = clases[i].style;
|
||||
|
||||
trace(clases[i].style);
|
||||
iStyle.padding = padding;
|
||||
iStyle.margin = margin;
|
||||
iStyle.background = background;
|
||||
}
|
||||
}
|
||||
|
||||
static public function menuBtn(texto, evento, funcion, container:Element) {
|
||||
var btn = Browser.document.createButtonElement();
|
||||
btn.textContent = texto;
|
||||
var btnStyle = btn.style;
|
||||
|
||||
btn.addEventListener("click", funcion);
|
||||
|
||||
container.appendChild(btn);
|
||||
}
|
||||
// static public function name() {}
|
||||
|
||||
|
||||
// ? Event lissener click
|
||||
// ? Display none
|
||||
// ? Display block
|
||||
|
||||
// ? Display none to display block, divs
|
||||
// ? Programacion
|
||||
// ? Notas
|
||||
// ? Programas
|
||||
static public function hierarchy(nameRoot, container) {
|
||||
var hierarchy = Browser.document.createElement("div");
|
||||
var hierarchyStyle = hierarchy.style;
|
||||
hierarchyStyle.cursor = "pointer";
|
||||
hierarchyStyle.display = "block";
|
||||
|
||||
hierarchy.textContent = nameRoot;
|
||||
hierarchy.setAttribute("class","hierarchy");
|
||||
|
||||
hierarchyStyle.backgroundColor = "#83A4E0";
|
||||
|
||||
container.appendChild(hierarchy);
|
||||
return hierarchy;
|
||||
}
|
||||
|
||||
static public function folders(nameFolder, container) {
|
||||
var contenedor = Browser.document.createElement("div");
|
||||
contenedor.style.paddingLeft = "20px";
|
||||
contenedor.style.background = "#A1A37D";
|
||||
contenedor.style.display = "block";
|
||||
|
||||
var folders = Browser.document.createElement("div");
|
||||
folders.style.cursor = "pointer";
|
||||
folders.style.background = "#A17DA3";
|
||||
folders.style.display = "block";
|
||||
folders.addEventListener("click", displayFolders);
|
||||
|
||||
var icono = Browser.document.createElement("i");
|
||||
icono.style.cursor = "pointer";
|
||||
|
||||
var span = Browser.document.createElement("span");
|
||||
span.style.cursor = "pointer";
|
||||
span.textContent = nameFolder;
|
||||
|
||||
|
||||
folders.appendChild(icono);
|
||||
folders.appendChild(span);
|
||||
contenedor.appendChild(folders);
|
||||
|
||||
container.appendChild(contenedor);
|
||||
return contenedor;
|
||||
}
|
||||
|
||||
static public function files(nameFile, container) {
|
||||
var div = Browser.document.createElement("div");
|
||||
div.setAttribute("id", nameFile);
|
||||
var divStyle = div.style;
|
||||
divStyle.width = "100%";
|
||||
divStyle.paddingLeft = "20px";
|
||||
divStyle.display = "block";
|
||||
|
||||
var icon = Browser.document.createElement("i");
|
||||
icon.addEventListener("click", notasGenerate);
|
||||
|
||||
var iconStyle = icon.style;
|
||||
iconStyle.cursor = "pointer";
|
||||
|
||||
var span = Browser.document.createElement("span");
|
||||
span.addEventListener("click", notasGenerate);
|
||||
span.textContent = nameFile;
|
||||
|
||||
var spanStyle = span.style;
|
||||
spanStyle.cursor = "pointer";
|
||||
spanStyle.width = "40px";
|
||||
spanStyle.backgroundColor = "#C14907";
|
||||
spanStyle.display = "block";
|
||||
|
||||
div.appendChild(icon);
|
||||
div.appendChild(span);
|
||||
|
||||
container.appendChild(div);
|
||||
}
|
||||
|
||||
static public function displayFolders() {
|
||||
var displayFolders:Bool = false;
|
||||
|
||||
if (displayFolders == false) {
|
||||
displayFolders = true;
|
||||
return;
|
||||
}
|
||||
if (displayFolders == true) {
|
||||
displayFolders = false;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
static public function tagElements(nota, tagElement, container) {
|
||||
switch tagElement {
|
||||
case "a":
|
||||
var template = Std.string('<a></a>');
|
||||
var resultado;
|
||||
|
||||
case "p":
|
||||
var template = Std.string('<p> </p>');
|
||||
var resultado;
|
||||
|
||||
case "strong":
|
||||
var template = Std.string('<strong> </strong>');
|
||||
var resultado;
|
||||
|
||||
case "img":
|
||||
var template = Std.string('<img>');
|
||||
var resultado;
|
||||
|
||||
case "ol":
|
||||
var template = Std.string('<ol> </ol>');
|
||||
var resultado;
|
||||
|
||||
case "ul":
|
||||
var template = Std.string('<ul> </ul>');
|
||||
var resultado;
|
||||
|
||||
case "li":
|
||||
var template = Std.string('<li> </li>');
|
||||
var resultado;
|
||||
|
||||
case "i":
|
||||
switch nota {
|
||||
case ":heart:":
|
||||
nota = "❤️";
|
||||
case ":corazon:":
|
||||
nota = "❤️";
|
||||
case _:
|
||||
}
|
||||
var resultado;
|
||||
var template = Std.string('<i>$nota</i>');
|
||||
|
||||
case "h1":
|
||||
var nota = Std.string('<h1>$nota</h1>');
|
||||
var notaTrim = StringTools.ltrim(nota);
|
||||
var template = new haxe.Template(notaTrim);
|
||||
|
||||
var ejecutar = template.execute(template);
|
||||
|
||||
var div = Browser.document.createElement("div");
|
||||
|
||||
div.innerHTML = ejecutar;
|
||||
|
||||
// container.innerHTML = ejecutar;
|
||||
|
||||
// var resultado;
|
||||
|
||||
container.appendChild(div);
|
||||
|
||||
|
||||
// container.innerHTML = ejecutar;
|
||||
|
||||
case "h2":
|
||||
var template = Std.string('<h2>$nota</h2>');
|
||||
var resultado;
|
||||
|
||||
|
||||
case "h3":
|
||||
var template = Std.string('<h3>$nota</h3>');
|
||||
var resultado;
|
||||
|
||||
case "h4":
|
||||
var template = Std.string('<h4>$nota</h4>');
|
||||
var resultado;
|
||||
|
||||
case "h5":
|
||||
var template = Std.string('<h5>$nota</h5>');
|
||||
var resultado;
|
||||
|
||||
case "h6":
|
||||
var template = Std.string('<h6>$nota</h6>');
|
||||
var resultado;
|
||||
|
||||
case "code":
|
||||
var template = Std.string('<pre><code>$nota</code></pre>');
|
||||
var resultado;
|
||||
case _:
|
||||
var template = Std.string('<$tagElement>>$nota</$tagElement>');
|
||||
var resultado;
|
||||
}
|
||||
}
|
||||
|
||||
static public function notasGenerate(e, nota,tagElement, container) {
|
||||
var section = Browser.document.getElementById("section");
|
||||
// nav.textContent = "";
|
||||
// trace(arg);
|
||||
// trace(e.target.innerHTML);
|
||||
// trace(e);
|
||||
|
||||
section.textContent = "";
|
||||
switch e.target.innerHTML {
|
||||
case "Haxe":
|
||||
section.textContent = "";
|
||||
trace("Haxe Text Case");
|
||||
|
||||
tagElements("Nota","h1",section);
|
||||
tagElements("Esto es la nota de haxe","h1",section);
|
||||
tagElements("La nota de testeo","h1",section);
|
||||
tagElements("Test","h1",section);
|
||||
tagElements("Test","h1",section);
|
||||
tagElements("Test","h1",section);
|
||||
tagElements("Test","h1",section);
|
||||
tagElements("Test","h1",section);
|
||||
tagElements("Test","h1",section);
|
||||
tagElements("Test","h1",section);
|
||||
tagElements("Test","h1",section);
|
||||
tagElements("Test","h1",section);
|
||||
tagElements("Test","h1",section);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,83 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Document</title>
|
||||
</head>
|
||||
<body>
|
||||
<style>
|
||||
.form-container {
|
||||
display: none;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.form-container.active {
|
||||
display: table-caption;
|
||||
}
|
||||
<div class="button
|
||||
</style>
|
||||
|
||||
<div class="buttons-container">
|
||||
<button class="toggle-button">Button One</button>
|
||||
<div class="form-container">
|
||||
<form>
|
||||
<input type="text" placeholder="Enter your Name">
|
||||
<input type="text" placeholder="Enter your Marks">
|
||||
<button type="submit">Submit</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="buttons-container">
|
||||
<button class="toggle-button">Button Two</button>
|
||||
<div class="form-container">
|
||||
<form>
|
||||
<input type="text" placeholder="Enter your Name">
|
||||
<input type="text" placeholder="Enter your Marks">
|
||||
<button type="submit">Submit</button>
|
||||
<form>
|
||||
<input type="text" placeholder="Enter your Name">
|
||||
<input type="text" placeholder="Enter your Marks">
|
||||
<button type="submit">Submit</button>
|
||||
</form>
|
||||
<div class="form-container"></div>
|
||||
</form>
|
||||
<form>
|
||||
<input type="text" placeholder="Enter your Name">
|
||||
<input type="text" placeholder="Enter your Marks">
|
||||
<button type="submit">Submit</button>
|
||||
</form>
|
||||
<div class="form-container">
|
||||
<form>
|
||||
<input type="text" placeholder="Enter your Name">
|
||||
<input type="text" placeholder="Enter your Marks">
|
||||
<button type="submit">Submit</button>
|
||||
</form>
|
||||
<div class="form-container">
|
||||
<form>
|
||||
<input type="text" placeholder="Enter your Name">
|
||||
<input type="text" placeholder="Enter your Marks">
|
||||
<button type="submit">Submit</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<button class="toggle-button">Button Two</button>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const buttons = document.querySelectorAll('.toggle-button');
|
||||
|
||||
buttons.forEach((button) => {
|
||||
button.addEventListener('click', () => {
|
||||
const formContainer = button.nextElementSibling;
|
||||
|
||||
formContainer.classList.toggle('active');
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,159 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Document</title>
|
||||
</head>
|
||||
<style>
|
||||
#hierarchy
|
||||
{
|
||||
font-family: FontAwesome;
|
||||
width: 300px;
|
||||
}
|
||||
.foldercontainer, .file, .noitems
|
||||
{
|
||||
display: block;
|
||||
padding: 5px 5px 5px 50px;
|
||||
}
|
||||
.folder
|
||||
{
|
||||
color: red;
|
||||
}
|
||||
.file
|
||||
{
|
||||
color: green;
|
||||
}
|
||||
.folder, .file
|
||||
{
|
||||
cursor: pointer;
|
||||
}
|
||||
.noitems
|
||||
{
|
||||
display: none;
|
||||
pointer-events: none;
|
||||
}
|
||||
.folder:hover,.file:hover
|
||||
{
|
||||
background: yellow;
|
||||
}
|
||||
.folder:before, .file:before
|
||||
{
|
||||
padding-right: 10px;
|
||||
}
|
||||
/*
|
||||
|
||||
*/
|
||||
</style>
|
||||
<body>
|
||||
<!-- Tomar herarchi -->
|
||||
|
||||
<div id="hierarchy">
|
||||
<div class="foldercontainer">
|
||||
<span class="folder fa-folder-o" data-isexpanded="true">Folder 1</span>
|
||||
<span class="file fa-file-excel-o">File 11</span>
|
||||
<span class="file fa-file-code-o">File 12</span>
|
||||
<span class="file fa-file-pdf-o">File 13</span>
|
||||
<span class="file fa-file-pdf-o">File 13</span>
|
||||
<span class="file fa-file-pdf-o">File 13</span>
|
||||
<span class="file fa-file-pdf-o">File 13</span>
|
||||
<span class="file fa-file-pdf-o">File 13</span>
|
||||
|
||||
<div class="foldercontainer">
|
||||
<span class="folder fa-folder-o" data-isexpanded="true">Folder 1-1</span>
|
||||
<span class="file fa-file-excel-o">File 1-11</span>
|
||||
<span class="file fa-file-code-o">File 1-12</span>
|
||||
<span class="file fa-file-pdf-o">File 1-13</span>
|
||||
</div>
|
||||
|
||||
<div class="foldercontainer">
|
||||
<span class="folder fa-folder">Folder 1-2</span>
|
||||
<span class='noitems'>No Items</span>
|
||||
</div>
|
||||
|
||||
<div class="foldercontainer">
|
||||
<span class="folder fa-folder">Folder 1-3</span>
|
||||
<span class='noitems'>No Items</span>
|
||||
</div>
|
||||
|
||||
<div class="foldercontainer">
|
||||
<span class="folder fa-folder">Folder 1-4</span>
|
||||
<span class='noitems'>No Items</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="foldercontainer">
|
||||
<span class="folder fa-folder-o" data-isexpanded="true">Folder 2</span>
|
||||
<span class="file fa-file-excel-o">File 21</span>
|
||||
<span class="file fa-file-code-o">File 22</span>
|
||||
<span class="file fa-file-pdf-o">File 23</span>
|
||||
|
||||
<div class="foldercontainer">
|
||||
<span class="folder fa-folder-o" data-isexpanded="true">Folder 2-1</span>
|
||||
<span class="file fa-file-excel-o">File 2-11</span>
|
||||
<span class="file fa-file-code-o">File 2-12</span>
|
||||
<span class="file fa-file-pdf-o">File 2-13</span>
|
||||
|
||||
<div class="foldercontainer">
|
||||
<span class="folder fa-folder">Folder 2-1-1</span>
|
||||
<span class='noitems'>No Items</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="foldercontainer">
|
||||
<span class="folder fa-folder-o" data-isexpanded="true">Folder 3</span>
|
||||
<span class="file fa-file-excel-o">File 31</span>
|
||||
<span class="file fa-file-code-o">File 32</span>
|
||||
<span class="file fa-file-pdf-o">File 33</span>
|
||||
|
||||
<div class="foldercontainer">
|
||||
<span class="folder fa-folder">Folder 3-1</span>
|
||||
<span class='noitems'>No Items</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
var hierarchy = document.getElementById("hierarchy");
|
||||
hierarchy.addEventListener("click", function(event){
|
||||
// Tomar herarchi | Div Con ID | Agregar .addEventListener
|
||||
|
||||
var elem = event.target;
|
||||
|
||||
var type = elem.classList.contains("folder") ? "folder" : "file";
|
||||
if(type=="file")
|
||||
{
|
||||
alert("File accessed");
|
||||
}
|
||||
if(type=="folder")
|
||||
{
|
||||
|
||||
|
||||
var isexpanded = elem.dataset.isexpanded=="true";
|
||||
if(isexpanded)
|
||||
{
|
||||
elem.classList.remove("fa-folder-o");
|
||||
elem.classList.add("fa-folder");
|
||||
}
|
||||
else
|
||||
{
|
||||
elem.classList.remove("fa-folder");
|
||||
elem.classList.add("fa-folder-o");
|
||||
}
|
||||
|
||||
|
||||
elem.dataset.isexpanded = !isexpanded;
|
||||
|
||||
var toggleelems = [].slice.call(elem.parentElement.children);
|
||||
var classnames = "file,foldercontainer,noitems".split(",");
|
||||
|
||||
toggleelems.forEach(function(element){
|
||||
if(classnames.some(function(val){return element.classList.contains(val);}))
|
||||
element.style.display = isexpanded ? "none":"block";
|
||||
});
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,98 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<style>
|
||||
* {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
}
|
||||
|
||||
/* The grid: Three equal columns that floats next to each other */
|
||||
.column {
|
||||
float: left;
|
||||
width: 33.33%;
|
||||
padding: 50px;
|
||||
text-align: center;
|
||||
font-size: 25px;
|
||||
cursor: pointer;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.containerTab {
|
||||
padding: 20px;
|
||||
color: white;
|
||||
}
|
||||
|
||||
/* Clear floats after the columns */
|
||||
.row:after {
|
||||
content: "";
|
||||
display: table;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
/* Closable button inside the container tab */
|
||||
.closebtn {
|
||||
float: right;
|
||||
color: white;
|
||||
font-size: 35px;
|
||||
cursor: pointer;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div style="text-align:center">
|
||||
<h2>Expanding Grid</h2>
|
||||
<p>Click on the boxes below:</p>
|
||||
</div>
|
||||
|
||||
<!-- Three columns -->
|
||||
<div class="row">
|
||||
<div class="column" onclick="openTab('b1');" style="background:green;">
|
||||
Box 1
|
||||
</div>
|
||||
<div class="column" onclick="openTab('b2');" style="background:blue;">
|
||||
Box 2
|
||||
</div>
|
||||
<div class="column" onclick="openTab('b3');" style="background:red;">
|
||||
Box 3
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Full-width columns: (hidden by default) -->
|
||||
<div id="b1" class="containerTab" style="display:none;background:green">
|
||||
<span onclick="this.parentElement.style.display='none'" class="closebtn">×</span>
|
||||
<h2>Box 1</h2>
|
||||
<p>Lorem ipsum dolor sit amet, te quo doctus abhorreant, et pri deleniti intellegat, te sanctus inermis ullamcorper nam. Ius error diceret deseruisse ad</p>
|
||||
</div>
|
||||
|
||||
<div id="b2" class="containerTab" style="display:none;background:blue">
|
||||
<span onclick="this.parentElement.style.display='none'" class="closebtn">×</span>
|
||||
<h2>Box 2</h2>
|
||||
<p>Lorem ipsum dolor sit amet, te quo doctus abhorreant, et pri deleniti intellegat, te sanctus inermis ullamcorper nam. Ius error diceret deseruisse ad</p>
|
||||
</div>
|
||||
|
||||
<div id="b3" class="containerTab" style="display:none;background:red">
|
||||
<span onclick="this.parentElement.style.display='none'" class="closebtn">×</span>
|
||||
<h2>Box 3</h2>
|
||||
<p>Lorem ipsum dolor sit amet, te quo doctus abhorreant, et pri deleniti intellegat, te sanctus inermis ullamcorper nam. Ius error diceret deseruisse ad</p>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
function openTab(tabName) {
|
||||
var i, x;
|
||||
x = document.getElementsByClassName("containerTab");
|
||||
for (i = 0; i < x.length; i++) {
|
||||
x[i].style.display = "none";
|
||||
}
|
||||
document.getElementById(tabName).style.display = "block";
|
||||
}
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
var num1 = "hola";
|
||||
var num2 = "mundo";
|
||||
|
||||
class Main {
|
||||
static function main() {
|
||||
trace('$num1 $num2');
|
||||
Sys.println("Hello World");
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
-cp src
|
||||
-D analyzer-optimize
|
||||
-main Main
|
||||
--neko main.n
|
||||
Binary file not shown.
Binary file not shown.
|
|
@ -0,0 +1,5 @@
|
|||
all:
|
||||
haxe build.hxml --debug
|
||||
neko main.n
|
||||
nekotools boot main.n
|
||||
.\main.exe
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
var num1 = "hola";
|
||||
var num2 = "mundo";
|
||||
|
||||
class Main {
|
||||
static function main() {
|
||||
trace('$num1 $num2');
|
||||
Sys.println("Hello World");
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue