Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
c51b962
first implementation
cyrilletuzi Feb 18, 2026
ca481b7
doc
cyrilletuzi Feb 19, 2026
80db02d
doc
cyrilletuzi Feb 19, 2026
06c482c
doc
cyrilletuzi Feb 19, 2026
d899a25
doc
cyrilletuzi Feb 19, 2026
4d10ebe
add other submit options
cyrilletuzi Feb 19, 2026
75a2306
lazy submit
cyrilletuzi Feb 20, 2026
4be79e8
doc
cyrilletuzi Feb 20, 2026
ae076c1
destroyRef instead of Injector
cyrilletuzi Feb 20, 2026
4e6e806
fix
cyrilletuzi Feb 20, 2026
abca647
Merge branch 'main' into first-implementation
cyrilletuzi Feb 20, 2026
37a768e
add toFormSubmitOptions
cyrilletuzi Feb 20, 2026
d0eda76
renaming
cyrilletuzi Feb 21, 2026
9adc7b9
fix
cyrilletuzi Feb 21, 2026
20be5b1
fix
cyrilletuzi Feb 27, 2026
4138e61
simpler options
cyrilletuzi Feb 27, 2026
59e2f5e
options spec
cyrilletuzi Feb 27, 2026
78e3a3d
ng 21.2 stable
cyrilletuzi Feb 27, 2026
ee3ceff
rename
cyrilletuzi Feb 27, 2026
e9d52f8
doc
cyrilletuzi Feb 27, 2026
a4b8fb7
demo app
cyrilletuzi Feb 27, 2026
f9e2913
doc, licence and npm info
cyrilletuzi Feb 27, 2026
fec5beb
doc
cyrilletuzi Feb 28, 2026
5487115
doc
cyrilletuzi Feb 28, 2026
c67696c
remove FormRoot
cyrilletuzi Feb 28, 2026
59b6cb1
scripts
cyrilletuzi Feb 28, 2026
7c3ba40
doc
cyrilletuzi Feb 28, 2026
fa717ad
repo config
cyrilletuzi Feb 28, 2026
c586981
ci and publish workflows
cyrilletuzi Feb 28, 2026
76b8e13
fix
cyrilletuzi Feb 28, 2026
9f26fd3
doc
cyrilletuzi Feb 28, 2026
edb7b68
rename
cyrilletuzi Mar 1, 2026
1fab230
test both valid() and invalid() as they are not the same
cyrilletuzi Mar 1, 2026
f9a33e9
rxAction instead of rxSubmission
cyrilletuzi Mar 1, 2026
08e78f0
readonly options
cyrilletuzi Mar 1, 2026
a8a7803
doc
cyrilletuzi Mar 1, 2026
a354192
rxSubmission (again)
cyrilletuzi Mar 3, 2026
9466326
immutability
cyrilletuzi Mar 3, 2026
665ce58
vscode settings
cyrilletuzi Mar 4, 2026
af876e9
deps
cyrilletuzi Mar 5, 2026
19b113e
deps
cyrilletuzi Mar 5, 2026
4474671
doc
cyrilletuzi Mar 18, 2026
209858b
npm update
cyrilletuzi Mar 18, 2026
dbc41d9
lint
cyrilletuzi Mar 18, 2026
abdbbae
eslint v10
cyrilletuzi Mar 18, 2026
d6eef4a
jsdom v29
cyrilletuzi Mar 18, 2026
90647e2
fix ci
cyrilletuzi Mar 18, 2026
616f481
ci
cyrilletuzi Mar 18, 2026
8c4e8e6
ci
cyrilletuzi Mar 18, 2026
cf89a35
ci
cyrilletuzi Mar 18, 2026
7c1f1bd
ci
cyrilletuzi Mar 18, 2026
7496b05
ci
cyrilletuzi Mar 18, 2026
cdde9be
fix
cyrilletuzi Mar 18, 2026
d487922
doc fixes
cyrilletuzi Mar 18, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# These are supported funding model platforms

github: cyrilletuzi
40 changes: 40 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
---
name: Bug report
about: Create a report for a bug
title: ''
labels: ''
assignees: ''
---

<!-- Switch to the "Preview" tab to read the instructions more easily and be able to click on links directly -->

# Checks before posting an issue

- [ ] I have read _all_ the library's documentation:
- [README](https://github.com/cyrilletuzi/angular-rx-submit/blob/main/README.md)
- [CHANGELOG](https://github.com/cyrilletuzi/angular-rx-submit/blob/main/CHANGELOG.md)
- [ ] I have checked in already:
- [opened issues](https://github.com/cyrilletuzi/angular-rx-submit/issues)
- [closed issues](https://github.com/cyrilletuzi/angular-rx-submit/issues?q=is%3Aissue+is%3Aclosed)
- [questions answered](https://github.com/cyrilletuzi/angular-rx-submit/discussions/categories/q-a) in the new "Discussions" tab
- [ ] I understand I am writing to a _human being_, doing this project _unpaid_
- [ ] I will be involved in my own issue, by answering questions and informing if the issue is resolved

<!-- Otherwise the issue will be closed. -->

# Configuration

- `angular-rx-submit` version:
- Angular version (`ng version`):

```
Copy the result here
```

# Description of the issue

<!-- Be precise, a vague description will not allow to find the problem. -->

# How to reproduce the issue

<!-- Tests are already checking most scenarios work, so without reproduction steps I will not be able to help. -->
8 changes: 8 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
blank_issues_enabled: false
contact_links:
- name: Questions
url: https://github.com/cyrilletuzi/angular-rx-submit/discussions/categories/q-a
about: The issue tracker is not intended for support. A new GitHub "Discussions" tab, with a Questions & Answers category, is available for that purpose.
- name: Feature requests
url: https://github.com/cyrilletuzi/angular-rx-submit/discussions/categories/ideas
about: Feature requests must be discussed first, and accepted, before opening an actual issue.
50 changes: 50 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: CI
permissions:
contents: read

on: pull_request

jobs:
test-latest:
name: Test with Angular@latest
runs-on: ubuntu-latest
timeout-minutes: 3

steps:
- uses: actions/checkout@v6
- name: Setup Node
uses: actions/setup-node@v6
with:
node-version: '24'
- name: Install dependencies
run: npm ci
env:
CI: true
- name: Build the lib
run: npm run build
- name: Run unit tests
run: npm test

test-minimum:
name: Test with Angular@21.2.0 and minimum dependencies requirements
runs-on: ubuntu-latest
timeout-minutes: 3

steps:
- uses: actions/checkout@v6
- name: Setup Node
uses: actions/setup-node@v6
with:
node-version: '20.19'
- name: Install dependencies
run: npm ci
env:
CI: true
- name: Build the lib (with the current Angular version, as it is what is published on npm)
run: npm run build
- name: Downgrade dependencies to minimal required version
run: npm install typescript@5.9.2 tslib@2.5.0 rxjs@7.6.0 @angular/common@21.2.0 @angular/compiler@21.2.0 @angular/core@21.2.0 @angular/forms@21.2.0 @angular/platform-browser@21.2.0 @angular/router@21.2.0 @angular/cli@21.2.0 @angular/compiler-cli@21.2.0 @angular/build@21.2.0 --legacy-peer-deps
env:
CI: true
- name: Run unit tests
run: npm run test-app-demo
25 changes: 25 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: Publish package

on:
push:
tags:
- 'v*'

permissions:
id-token: write # Required for OIDC
contents: read

jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6

- uses: actions/setup-node@v6
with:
node-version: 24
registry-url: 'https://registry.npmjs.org'

- run: npm ci
- run: npm run build
- run: npm publish ./dist/lib --access public
18 changes: 9 additions & 9 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"typescript.preferences.autoImportFileExcludePatterns": ["./dist"],
"js/ts.preferences.autoImportFileExcludePatterns": ["./dist"],
// Use project TypeScript version
"typescript.tsdk": "node_modules/typescript/lib",
"js/ts.tsdk.path": "node_modules/typescript/lib",
// Disable random autocomplete for stricter code
"editor.wordBasedSuggestions": "off",
// Formatting rules
Expand All @@ -18,11 +18,11 @@
"*.ts": "${capture}.css, ${capture}.html, ${capture}.spec.ts"
},
// Inlay hints (display type information when already known)
"typescript.inlayHints.variableTypes.enabled": true,
"typescript.inlayHints.propertyDeclarationTypes.enabled": true,
"typescript.inlayHints.parameterTypes.enabled": true,
"typescript.inlayHints.functionLikeReturnTypes.enabled": true,
"typescript.inlayHints.enumMemberValues.enabled": true,
"typescript.inlayHints.parameterNames.enabled": "all",
"typescript.inlayHints.variableTypes.suppressWhenTypeMatchesName": false
"js/ts.inlayHints.variableTypes.enabled": true,
"js/ts.inlayHints.propertyDeclarationTypes.enabled": true,
"js/ts.inlayHints.parameterTypes.enabled": true,
"js/ts.inlayHints.functionLikeReturnTypes.enabled": true,
"js/ts.inlayHints.enumMemberValues.enabled": true,
"js/ts.inlayHints.parameterNames.enabled": "all",
"js/ts.inlayHints.variableTypes.suppressWhenTypeMatchesName": false
}
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Changelog

## 21.2.0 (2026-03-18)

Initial release.
20 changes: 20 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
The MIT License

Copyright (c) 2026 Cyrille Tuzi

Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Loading