aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-10-08Release pakakeh.ts v0.2.0 (2024-10-08)HEADv0.2.0maindevShulhan
This release update the package name and repository URL to new name "pakakeh.ts". On dependencies, we upgrade the tools to use eslint v9. === New features * input: implement component for inputing file === Enhancements * editor: set the caret color to red Since we cannot change its shape, changing the color to red make the text cursor position visible to eyes. * editor: allow inserting tab on editor Previously pressing tab on editor will move focus to the next component on page or browser. Now, pressing tab will insert "\t" on the current cursor. === Chores * all: rewrite README using markdown format This is to make the repository README rendered on git.sr.ht, not only github. * make: add task to install tools and serve the HTML and docs The "install-tools" task install the ciigo binary using Go tools into user's ${GOBIN}. The "serve" task serve the HTML files for local development and automatically convert ".md" files to HTML for previewing. * notif: update example message for notification * tsconfig.json: set the watch options For watchFile and watchDirectory we use useFsEvents (the default): Attempt to use the operating system/file system’s native events for directory changes. dynamicPriorityPolling: Use a dynamic queue where less-frequently modified files will be checked less often. synchronousWatchDirectory: Synchronously call callbacks and update the state of directory watchers on platforms that don`t support recursive watching natively. Instead of giving a small timeout to allow for potentially multiple edits to occur on a file. Reference: https://www.typescriptlang.org/docs/handbook/configuring-watch.html * all: update reuse to use REUSE.toml Since REUSE version 3.2, using ".reuse/dep5" has been deprecated, and replaced using REUSE.toml * all: update README Add list of components that we provides on this module and how to start development. * all: commit all generate JavaScript files This is to simplify development on third party where they can clone and include the file directly without installing or running anything to build the files.
2024-10-08all: update package description and dependenciesShulhan
This changes update the package name and repository URL to new name "pakakeh.ts". On dependencies, we upgrade the tools to use eslint v9.
2024-10-03editor: allow inserting tab on editorShulhan
Previously pressing tab on editor will move focus to the next component on page or browser. Now, pressing tab will insert "\t" on the current cursor.
2024-09-15all: commit all generate JavaScript filesShulhan
This is to simplify development on third party where they can clone and include the file directly without installing or running anything to build the files.
2024-09-15all: update dependenciesShulhan
2024-09-15all: update READMEShulhan
Add list of components that we provides on this module and how to start development.
2024-09-15all: update reuse to use REUSE.tomlShulhan
Since REUSE version 3.2, using ".reuse/dep5" has been deprecated, and replaced using REUSE.toml
2024-09-15tsconfig.json: set the watch optionsShulhan
For watchFile and watchDirectory we use useFsEvents (the default): Attempt to use the operating system/file system’s native events for directory changes. dynamicPriorityPolling: Use a dynamic queue where less-frequently modified files will be checked less often. synchronousWatchDirectory: Synchronously call callbacks and update the state of directory watchers on platforms that don`t support recursive watching natively. Instead of giving a small timeout to allow for potentially multiple edits to occur on a file. Reference: https://www.typescriptlang.org/docs/handbook/configuring-watch.html
2024-09-15notif: update example message for notificationShulhan
2024-09-15make: add task to install tools and serve the HTML and docsShulhan
The "install-tools" task install the ciigo binary using Go tools into user's ${GOBIN}. The "serve" task serve the HTML files for local development and automatically convert ".md" files to HTML for previewing.
2024-02-05input: implement component for inputing fileShulhan
2024-02-04all: rewrite README using markdown formatShulhan
This is to make the repository README rendered on git.sr.ht, not only github.
2023-12-08editor: set the caret color to redShulhan
Since we cannot change its shape, changing the color to red make the text cursor position visible to eyes.
2023-12-08all: update all dependencies and populate the "package.json" filev0.1.0Shulhan
2023-12-08editor: set key control to false on blurShulhan
Sometimes we got an issue where pressing enter may cause the editor being saved without pressing Control key.
2023-12-08editor: reduce the padding in the contentShulhan
The gap make us confuse between space and padding.
2023-11-21editor: update layout without using floatShulhan
2023-11-21editor: fix paste that always add new lineShulhan
2023-11-21editor: replace execCommand with SelectionShulhan
The execCommand has been deprecated according to Mozilla Developer Network. This changes require the tsc target set to es2019 to be able to use the string trimEnd method. [1]: https://developer.mozilla.org/en-US/docs/Web/API/document/execCommand
2023-11-15vfs: set the crumb style without wrapShulhan
In case the directory is too long, the name can span multiline, break automatically by browser and overlap with previous crumbs.
2023-11-15editor: add method to set content editable or notShulhan
2023-11-15editor: use CTRL+Enter to trigger save instead of CTRL+sShulhan
Using CTRL+s sometimes cause pressing s only trigger the save.
2023-11-15vfs: make the path and list tab-ableShulhan
Pressing tab key should iterate through crumb in the path and in the item in the list.
2023-11-11vfs: add function "filter"Shulhan
The filter function filter and display the list of node by its name.
2023-11-11all: update all npm devDependenciesShulhan
2023-11-11editor: re-render content after saveShulhan
This is to make the content that we save and the content on editor is always same.
2023-11-11editor: handle paste event manuallyShulhan
On each paste event, re-render the line number in case the clipboard contains new lines.
2023-11-11input: use lower case for method name SetShulhan
2023-11-05editor: simplify using one contenteditableShulhan
Using multiple lines of content editable is hard, especially when involving selection, deletion, and managing undo-redo history.
2023-11-02editor: handle mouse selection, copy, and paste multiple linesShulhan
Previously, mouse selection only works on single line. This changes, make mouse selection works on multiple lines, also when user press CTRL+C we reformat the copied data to add line-feed so we can split later during paste.
2023-11-01editor: handle DELETE on selectionShulhan
If user select text and press delete key, the selected text should be deleted.
2023-10-31all: set files to be transpiled in "tsconfig.json"Shulhan
2023-10-30editor: fix handling control keyShulhan
Instead of binding key up and down on each line for handling, bind it to document.
2023-10-24all: fix all linter warnings from tsc and eslintShulhan
In this changes we introduce eslint as our linter for TypeScript and update our tsconfig to be more strict. The ".eslintrc.yaml" and "tsconfig.json" is taken from golang/website repository [1]. [1]: https://cs.opensource.google/go/x/website
2023-10-24all: reformat all filesShulhan
I cannot remember how I reformat those files previously, probably without any tools. This changes reformat the TypeScript files using prettier and HTML files using js-beautify.
2022-04-20all: simplify MakefileShulhan
2022-04-20all: accept the address options as isShulhan
This remove the insecure option since in the browser, the WebSocket client does not have an option to ignore invalid certificate (the user must accept the invalid certificate by them self).
2022-03-15all: re-licensing wui under GPL 3.0 or laterShulhan
See https://kilabit.info/journal/2022/gpl/ for more information.
2021-10-20vfs: add class attribute to path and list componentsShulhan
The VFS path component now have class "wui_vfs_path" and the list component have class "wui_vfs_list".
2021-10-20editor: handle key DeleteShulhan
When delete key pressed on line, it will delete single character or join the current line with the next line.
2021-10-20editor: export the ClearSelection methodShulhan
The ClearSelection method clear the selection indicator on user interface.
2021-10-20all: check for response ID 0 to before call onBroadcastShulhan
A response is defined as broadcast from server when the ID is 0.
2021-09-27all: implement WebSocket clientShulhan
The WebSocket client have only one method "Send" that send request to the server based on predefined format WuiWebSocketRequest in synchronous way, which means it will wait for the response and pass it back to the caller based on the request ID.
2021-09-19input: remove background color on hint elementShulhan
It is up to the user on how to set the background color of any elements, not the library.
2021-09-19input: add option "is_hint_toggled"Shulhan
If the "is_hint_toggled" is true, the hint text will be displayed by default on first render, instead of hidden. While at it, add 2px to the top margin of the hint element to make it separatable from the input element.
2021-09-19input: display the new value on changes inside the exampleShulhan
Instead of printing the new value using console.log, display it as text below the example.
2021-09-19input: allow floating value on WuiInputNumberShulhan
While at it, set the input number "step" option to "any".
2021-09-18input: add method to set the input valueShulhan
The input number, select, and string now have method Set to set the current value.
2021-09-11notif: set the notification z-index to 10000Shulhan
This fix the notification displayed below other element, while it should be on top.
2021-09-11input: add options to add custom CSS class to label and inputShulhan
The input options for string, number, and select now have two additional options: "class_label" and "class_input". The "class_label" option will add custom CSS class to the input label. The "class_input" option will add custom CSS class to the input group.