Skip to content

kookiatsuetrong/artfully

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Artfully Application

Making an application in Artfully platform.

An easy way to write application by creating a JavaScript class.

var Sample = class extends Application {
	create() {
		this.setTitle("Sample")
		let menu = new Menu()
		menu.add("Open",  () => this.open() )
		menu.add("Close", () => this.exit() )
		this.setMenu(menu)
	}
	open() {
		console.log("Open ...")
	}
}

System.registerApplication("Sample")

The function System.registerApplication() is use for registering a class name as an application.

The result is as follow:

It is possible to write application by any framework, e.g. React.

<script src="https://unpkg.com/react@18/umd/react.development.js"></script>
<script src="https://unpkg.com/react-dom@18/umd/react-dom.development.js"></script>
<script src="https://unpkg.com/@babel/standalone/babel.min.js"></script>

<script type="text/babel">

class ReactApp extends React.Component {
	constructor() {
		super()
		this.list = [ ]
	}

	render() {
		return <div>
			<button onClick={()=>this.add()}>Add</button>
			{this.list.map(x => <p>{x}</p>)}
		</div>
	}
	add() {
		this.list.push("Love")
		this.forceUpdate()
	}
}

class ReactBridge extends Application {
	create() {
		this.setTitle("React Sample Application")
		let menu = new Menu()
		menu.add("Open",  () => this.open() )
		menu.add("Close", () => this.exit() )
		this.setMenu(menu)
		
		let target = document.createElement("span")
		this.getMain().appendChild(target)
		
		let root = ReactDOM.createRoot(target)
		root.render(<ReactApp />)
	}
	open() {
		console.log("Open ...")
	}
}

System.registerApplication("ReactBridge")	
</script>

About

Artfully Application

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published