Commit graph

4,037 commits

Author SHA1 Message Date
Sanjay Bhangar
d51d3f60f1 Complete core ES module migration with build system and tests
- Enhanced build system to generate ESM, UMD, and minified formats
- Fixed test extraction script to properly parse OxJS inline tests
- Added comprehensive test infrastructure with Vitest
- Successfully extracted 22 test files from inline documentation
- Verified builds work in browser and Node.js environments
- Maintained full backward compatibility with Ox.load() pattern
- Updated .gitignore to exclude build artifacts (dev/, min/, dist/, test/extracted/)

Generated with AI assistance
2026-02-09 17:58:48 +05:30
Sanjay Bhangar
a8a7dc9445 Add core Ox modules as ES modules with tests
This commit adds ES module versions of fundamental Ox utilities:
- Array utilities (api, compact, unique, zip, etc.)
- String utilities (capitalize, clean, truncate, wordwrap, etc.)
- Math utilities (trig functions, geographic calculations, etc.)
- Object utilities (clone, serialize, keys/values, etc.)
- Function utilities (cache, debounce, throttle, memoize, etc.)
- Constants (math, time, colors, HTTP status codes)
- Polyfills for older browser compatibility

All modules include proper imports/exports and maintain the same API
as the original implementations. Added comprehensive test coverage with
31 tests passing.

Next steps: Convert remaining core modules, set up build pipeline,
and test backward compatibility with existing examples.

🤖 Generated with AI assistance
2026-02-09 17:32:06 +05:30
Sanjay Bhangar
4c880728dc Begin ES modules migration and modern build infrastructure
This commit lays the foundation for migrating OxJS from its custom module
system to ES modules while maintaining backward compatibility.

Key changes:
- Set up npm project with Vite for modern build tooling
- Created ES module versions of core Ox utilities (Type, Collection, DOM, etc.)
- Implemented compatibility layer for legacy Ox.load() pattern
- Added Vitest for testing with initial test suite
- Created script to extract existing inline tests from documentation
- Updated .gitignore for Node.js/npm development

The migration preserves OxJS's innovative inline test system and maintains
backward compatibility. Original source files remain unchanged.

Next steps include migrating UI modules, replacing the Python build script,
and creating npm package distribution.

🤖 Generated with AI assistance
2026-02-09 17:17:52 +05:30
Sanjay Bhangar
91b6deaf7f add CLAUDE.md with overall structure and plan to migrate to ES modules 2026-02-09 17:01:15 +05:30
j
ec5b050496 support disalogs without titlebar, i.e. preview vidieo player 2026-01-14 21:39:36 +00:00
j
bc5b1b961c don't show poster if player already started 2026-01-13 19:23:40 +00:00
j
1540854fae trigger seeked to avoid loading icon after loop 2026-01-13 19:23:15 +00:00
j
8243614546 add support for data annotations 2026-01-12 22:30:54 +00:00
j
33a7832d64 raw regexp 2025-08-05 15:22:21 +02:00
j
f8e48f54ca expose async flag to disable it for window.unload events 2025-07-06 20:23:54 +01:00
j
6e1e2be9c4 no confirmation dialog for empty annotations 2025-01-30 16:59:35 +05:30
j
01596fa174 fix multiple id selection in VideoAnnotationPanel chain 2025-01-25 10:27:45 +05:30
j
8e760c3959 no special color for multiple 2025-01-24 23:31:51 +05:30
j
4cde39b182 hook up transcribe option 2025-01-24 19:59:56 +05:30
j
6341e64a64 add transcribe option 2025-01-24 19:14:48 +05:30
j
03eb3d4a56 select multple annotations, option to pass confirm delete dialog 2025-01-24 17:11:23 +05:30
j
96d4dfe71d allow selecting multiple annotations to get in/out range 2025-01-22 17:42:30 +05:30
j
168cdd691c disable overscroll behavior 2025-01-22 11:57:37 +05:30
j
570fa30d41 fix "Find in" for annotations with quotes 2024-06-19 13:52:52 +02:00
j
1a9fe95530 fix typo 2024-06-02 16:32:12 +01:00
j
f46a70d793 re-enable scrollbar-color for non chrome browsers 2024-06-02 16:29:11 +01:00
j
a67b633bcf scrollbar-color breaks scrollbars on chrome 2024-06-01 10:12:33 +01:00
j
038ff06766 balance subtitles 2024-05-17 16:38:44 +02:00
j
fc001a2f44 version can contain dots 2024-02-17 14:15:34 +00:00
j
d25fe788ee group vars into block (coding style) 2023-10-07 10:22:56 +01:00
qsniyg
d71ad7cad6 Allow setting multiple values for ButtonGroup 2023-10-07 09:20:16 +00:00
qsniyg
2c4e0b8f7b Use self.pageLength instead of self.options.pageLength in List::getPageByPosition
self.options.pageLength is a hint, the actual pageLength can differ. For example when orientation == both, self.options.pageLength is disregarded entirely.
2023-09-04 22:29:38 +00:00
j
2a147446c2 Ox.formPanel: update options.section on interactive change 2023-09-03 12:15:20 +01:00
j
9a7c3144f5 fix FormPanel selections 2023-09-03 12:11:12 +01:00
j
fb6c862b88 typo 2023-09-03 11:50:05 +01:00
j
6252e27f6c Ox.FormPanel: support setting inital and updating selected panel 2023-09-03 11:47:07 +01:00
j
49742b8b1a Ox.FormPanel.values now accepts values too 2023-09-03 11:24:01 +01:00
j
ac1a4ef961 avoid memory leak in jQuery.cache 2023-08-06 11:49:55 +02:00
j
b11dd36c7a typo 2023-08-04 17:48:11 +02:00
j
7b3ae57103 update turkish translations 2023-08-04 17:46:25 +02:00
j
7ffb5b6b9e typo 2023-08-04 14:58:37 +02:00
j
99ae1509cd some turkish translations 2023-07-27 16:58:07 +02:00
j
f8b218ec59 only post if target exists 2023-07-21 11:21:30 +01:00
j
4189c740b5 input event breaks input change event for input fields with onchange handlers 2023-07-12 13:31:11 +05:30
j
cf3f3c4103 better buffering 2023-07-12 00:22:46 +05:30
j
b3a73dedbf no autocomplete fields 2023-07-09 20:14:05 +05:30
j
bb7fe206d1 trigger change for text/password, fixes login and does not break annotations 2023-07-09 16:40:05 +05:30
j
4f00f0e06c revert 8a374360fa breaks shift enter in annotations 2023-07-09 16:04:20 +05:30
j
62a94ee644 update timeline one once 2023-07-09 16:01:58 +05:30
j
95faa3e40a fix copy of annotations in editor view if focus is on annotation 2023-07-09 15:01:37 +05:30
j
8a374360fa trigger change on automplete input event 2023-07-08 18:52:05 +05:30
j
eeb0b68037 advanced interface can contain places, fallback to string type 2023-07-06 14:13:55 +05:30
j
b7c201a74f handle type ["integer"] in url and fix inbetween vs ["integer"] filter 2023-07-06 11:52:36 +05:30
j
b0c0bd36be include viewbox in svg files. remove temp fix 2023-07-03 19:01:15 +05:30
j
18d619138f don't list https:// 2023-07-02 18:09:57 +05:30