sdc_client 0.158.9 → 0.160.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/CHANGELOG.md +58 -0
  2. package/LICENSE +21 -0
  3. package/dist/index.js +23 -13
  4. package/dist/ugly.index.js +2 -1
  5. package/dist/ugly.index.js.LICENSE.txt +1 -8
  6. package/gulp/gulp.jsx +11 -36
  7. package/package.json +23 -12
  8. package/src/index.js +31 -7
  9. package/src/simpleDomControl/AbstractSDC.js +15 -11
  10. package/src/simpleDomControl/sdc_controller.js +3 -3
  11. package/src/simpleDomControl/sdc_dom_events.js +5 -10
  12. package/src/simpleDomControl/sdc_events.js +3 -3
  13. package/src/simpleDomControl/sdc_main.js +34 -13
  14. package/src/simpleDomControl/sdc_model.js +225 -92
  15. package/src/simpleDomControl/sdc_params.js +0 -3
  16. package/src/simpleDomControl/sdc_server_call.js +21 -4
  17. package/src/simpleDomControl/sdc_test_utils.js +0 -1
  18. package/src/simpleDomControl/sdc_utils.js +59 -7
  19. package/src/simpleDomControl/sdc_view.js +16 -1
  20. package/.github/workflows/node.js.yml +0 -38
  21. package/.idea/inspectionProfiles/Project_Default.xml +0 -17
  22. package/.idea/jsLibraryMappings.xml +0 -6
  23. package/.idea/misc.xml +0 -6
  24. package/.idea/modules.xml +0 -8
  25. package/.idea/vcs.xml +0 -6
  26. package/.idea/workspace.xml +0 -403
  27. package/.readthedocs.yaml +0 -13
  28. package/.tool-versions +0 -1
  29. package/SimpleDomControlClient.iml +0 -12
  30. package/docs/api-reference.rst +0 -225
  31. package/docs/conf.py +0 -11
  32. package/docs/controllers.rst +0 -228
  33. package/docs/events-and-dom.rst +0 -120
  34. package/docs/getting-started.rst +0 -143
  35. package/docs/index.rst +0 -22
  36. package/docs/models.rst +0 -351
  37. package/docs/overview.rst +0 -66
  38. package/docs/requirements.txt +0 -1
  39. package/eslint.config.js +0 -43
  40. package/gulpfile.cjs +0 -30
  41. package/jest.config.mjs +0 -197
  42. package/test/controller.test.js +0 -93
  43. package/test/dist.test.js +0 -127
  44. package/test/model.test.js +0 -330
  45. package/test/models/Author.js +0 -145
  46. package/test/models/Book.js +0 -112
  47. package/test/models/BookContent.js +0 -114
  48. package/test/models/SdcUser.js +0 -75
  49. package/test/models/src.js +0 -8
  50. package/test/sdc_model_dates.ai.test.js +0 -57
  51. package/test/sdc_server_call.ai.test.js +0 -267
  52. package/test/utils.js +0 -88
  53. package/test/view.test.js +0 -159
  54. package/test-setup.js +0 -4
  55. package/webpack.config/webpack.default.config.cjs +0 -14
  56. package/webpack.config/webpack.development.config.cjs +0 -14
  57. package/webpack.config/webpack.production.config.cjs +0 -11
@@ -1,403 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="AutoImportSettings">
4
- <option name="autoReloadType" value="SELECTIVE" />
5
- </component>
6
- <component name="ChangeListManager">
7
- <list default="true" id="4b4ede81-fe43-4a68-9186-e15152e2d80c" name="Changes" comment="v 0.58.0 fixed test with dist" />
8
- <option name="SHOW_DIALOG" value="false" />
9
- <option name="HIGHLIGHT_CONFLICTS" value="true" />
10
- <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
11
- <option name="LAST_RESOLUTION" value="IGNORE" />
12
- </component>
13
- <component name="EmbeddingIndexingInfo">
14
- <option name="cachedIndexableFilesCount" value="139" />
15
- </component>
16
- <component name="FileTemplateManagerImpl">
17
- <option name="RECENT_TEMPLATES">
18
- <list>
19
- <option value="Python Script" />
20
- </list>
21
- </option>
22
- </component>
23
- <component name="Git.Settings">
24
- <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
25
- </component>
26
- <component name="GitHubPullRequestSearchHistory">{
27
- &quot;lastFilter&quot;: {
28
- &quot;state&quot;: &quot;OPEN&quot;,
29
- &quot;assignee&quot;: &quot;StarmanMartin&quot;
30
- }
31
- }</component>
32
- <component name="GithubPullRequestsUISettings">{
33
- &quot;selectedUrlAndAccountId&quot;: {
34
- &quot;url&quot;: &quot;https://github.com/StarmanMartin/SimpleDomControlClient.git&quot;,
35
- &quot;accountId&quot;: &quot;1d79fbc5-ed50-41ec-9a5c-ee6e5d964451&quot;
36
- }
37
- }</component>
38
- <component name="MarkdownSettingsMigration">
39
- <option name="stateVersion" value="1" />
40
- </component>
41
- <component name="McpProjectServerCommands">
42
- <commands />
43
- <urls />
44
- </component>
45
- <component name="ProjectColorInfo">{
46
- &quot;associatedIndex&quot;: 1
47
- }</component>
48
- <component name="ProjectId" id="2b2GffCLJPiEDkJs7nLSyiE5bGz" />
49
- <component name="ProjectViewState">
50
- <option name="hideEmptyMiddlePackages" value="true" />
51
- <option name="showLibraryContents" value="true" />
52
- </component>
53
- <component name="PropertiesComponent"><![CDATA[{
54
- "keyToString": {
55
- "Jest.All Tests.executor": "Run",
56
- "Jest.Controller.executor": "Debug",
57
- "Jest.Test all.executor": "Run",
58
- "Jest.Test reconcile controller.executor": "Run",
59
- "Jest.Test reconcile.executor": "Debug",
60
- "Jest.jest.config.mjs.executor": "Run",
61
- "Jest.model fixtures.queryset create uses the mocked socket receiver to append new rows.executor": "Debug",
62
- "Jest.model fixtures.queryset load receives rows through the mocked socket receiver.executor": "Debug",
63
- "Jest.view.test.js.executor": "Debug",
64
- "RunOnceActivity.MCP Project settings loaded": "true",
65
- "RunOnceActivity.OpenProjectViewOnStart": "true",
66
- "RunOnceActivity.ShowReadmeOnStart": "true",
67
- "RunOnceActivity.TerminalTabsStorage.copyFrom.TerminalArrangementManager.252": "true",
68
- "RunOnceActivity.git.unshallow": "true",
69
- "RunOnceActivity.go.formatter.settings.were.checked": "true",
70
- "RunOnceActivity.go.migrated.go.modules.settings": "true",
71
- "RunOnceActivity.typescript.service.memoryLimit.init": "true",
72
- "SHARE_PROJECT_CONFIGURATION_FILES": "true",
73
- "ai.playground.ignore.import.keys.banner.in.settings": "true",
74
- "git-widget-placeholder": "main",
75
- "go.import.settings.migrated": "true",
76
- "javascript.nodejs.core.library.configured.version": "22.14.0",
77
- "javascript.nodejs.core.library.typings.version": "22.14.1",
78
- "kotlin-language-version-configured": "true",
79
- "last_opened_file_path": "/home/martin/Develop/private/SimpleDomControl",
80
- "node.js.detected.package.eslint": "true",
81
- "node.js.detected.package.tslint": "true",
82
- "node.js.selected.package.eslint": "(autodetect)",
83
- "node.js.selected.package.tslint": "(autodetect)",
84
- "nodejs.jest.jest_package": "/home/martin/Develop/private/SimpleDomControlClient/node_modules/jest",
85
- "nodejs_interpreter_path": "/home/martin/.asdf/installs/nodejs/22.14.0/bin/node",
86
- "nodejs_package_manager_path": "yarn",
87
- "npm.build.executor": "Run",
88
- "npm.test.executor": "Debug",
89
- "project.structure.last.edited": "Modules",
90
- "project.structure.proportion": "0.0",
91
- "project.structure.side.proportion": "0.0",
92
- "settings.editor.selected.configurable": "settings.nodejs",
93
- "ts.external.directory.path": "/home/martin/.local/share/JetBrains/Toolbox/apps/pycharm-professional/plugins/javascript-plugin/jsLanguageServicesImpl/external",
94
- "vue.rearranger.settings.migration": "true"
95
- }
96
- }]]></component>
97
- <component name="RecentsManager">
98
- <key name="CopyFile.RECENT_KEYS">
99
- <recent name="$PROJECT_DIR$" />
100
- </key>
101
- </component>
102
- <component name="RunManager" selected="Jest.Test all">
103
- <configuration name="Controller" type="JavaScriptTestRunnerJest" temporary="true" nameIsGenerated="true">
104
- <node-interpreter value="project" />
105
- <jest-package value="$PROJECT_DIR$/node_modules/jest" />
106
- <working-dir value="$PROJECT_DIR$" />
107
- <envs>
108
- <env name="NODE_OPTIONS" value="--experimental-vm-modules" />
109
- </envs>
110
- <scope-kind value="SUITE" />
111
- <test-file value="$PROJECT_DIR$/test/controller.test.js" />
112
- <test-names>
113
- <test-name value="Controller" />
114
- </test-names>
115
- <method v="2" />
116
- </configuration>
117
- <configuration name="Test all" type="JavaScriptTestRunnerJest" temporary="true">
118
- <node-interpreter value="project" />
119
- <jest-package value="$PROJECT_DIR$/node_modules/jest" />
120
- <working-dir value="$PROJECT_DIR$" />
121
- <envs>
122
- <env name="NODE_OPTIONS" value="--experimental-vm-modules" />
123
- </envs>
124
- <scope-kind value="ALL" />
125
- <method v="2" />
126
- </configuration>
127
- <configuration name="Test reconcile controller" type="JavaScriptTestRunnerJest">
128
- <node-interpreter value="project" />
129
- <jest-package value="$PROJECT_DIR$/node_modules/jest" />
130
- <working-dir value="$PROJECT_DIR$" />
131
- <envs>
132
- <env name="NODE_OPTIONS" value="--experimental-vm-modules" />
133
- </envs>
134
- <scope-kind value="SUITE" />
135
- <test-file value="$PROJECT_DIR$/test/view.test.js" />
136
- <test-names>
137
- <test-name value="Controller reconcile" />
138
- </test-names>
139
- <method v="2" />
140
- </configuration>
141
- <configuration name="jest.config.mjs" type="JavaScriptTestRunnerJest" nameIsGenerated="true">
142
- <config-file value="$PROJECT_DIR$/jest.config.mjs" />
143
- <node-interpreter value="$USER_HOME$/.asdf/installs/nodejs/22.8.0/bin/node" />
144
- <node-options value="--experimental-vm-modules" />
145
- <jest-package value="$PROJECT_DIR$/node_modules/jest" />
146
- <working-dir value="$PROJECT_DIR$" />
147
- <envs />
148
- <scope-kind value="ALL" />
149
- <method v="2" />
150
- </configuration>
151
- <configuration name="view.test.js" type="JavaScriptTestRunnerJest" temporary="true" nameIsGenerated="true">
152
- <node-interpreter value="project" />
153
- <jest-package value="$PROJECT_DIR$/node_modules/jest" />
154
- <working-dir value="$PROJECT_DIR$" />
155
- <envs>
156
- <env name="NODE_OPTIONS" value="--experimental-vm-modules" />
157
- </envs>
158
- <scope-kind value="TEST_FILE" />
159
- <test-file value="$PROJECT_DIR$/test/view.test.js" />
160
- <method v="2" />
161
- </configuration>
162
- <configuration name="build" type="js.build_tools.npm">
163
- <package-json value="$PROJECT_DIR$/package.json" />
164
- <command value="run" />
165
- <scripts>
166
- <script value="build" />
167
- </scripts>
168
- <node-interpreter value="$USER_HOME$/.asdf/installs/nodejs/22.8.0/bin/node" />
169
- <envs />
170
- <method v="2" />
171
- </configuration>
172
- <configuration name="test" type="js.build_tools.npm" temporary="true" nameIsGenerated="true">
173
- <package-json value="$PROJECT_DIR$/package.json" />
174
- <command value="run" />
175
- <scripts>
176
- <script value="test" />
177
- </scripts>
178
- <node-interpreter value="$USER_HOME$/.asdf/installs/nodejs/22.14.0/bin/node" />
179
- <envs />
180
- <method v="2" />
181
- </configuration>
182
- <list>
183
- <item itemvalue="Jest.jest.config.mjs" />
184
- <item itemvalue="Jest.Test reconcile controller" />
185
- <item itemvalue="Jest.view.test.js" />
186
- <item itemvalue="Jest.Controller" />
187
- <item itemvalue="Jest.Test all" />
188
- <item itemvalue="npm.build" />
189
- <item itemvalue="npm.test" />
190
- </list>
191
- <recent_temporary>
192
- <list>
193
- <item itemvalue="Jest.Test all" />
194
- <item itemvalue="Jest.view.test.js" />
195
- <item itemvalue="npm.test" />
196
- <item itemvalue="Jest.Controller" />
197
- </list>
198
- </recent_temporary>
199
- </component>
200
- <component name="SharedIndexes">
201
- <attachedChunks>
202
- <set>
203
- <option value="bundled-js-predefined-d6986cc7102b-9b0f141eb926-JavaScript-PY-253.29346.142" />
204
- <option value="bundled-python-sdk-f2b7a9f6281b-6e1f45a539f7-com.jetbrains.pycharm.pro.sharedIndexes.bundled-PY-253.29346.142" />
205
- </set>
206
- </attachedChunks>
207
- </component>
208
- <component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
209
- <component name="TaskManager">
210
- <task active="true" id="Default" summary="Default task">
211
- <changelist id="4b4ede81-fe43-4a68-9186-e15152e2d80c" name="Changes" comment="" />
212
- <created>1705405864340</created>
213
- <option name="number" value="Default" />
214
- <option name="presentableId" value="Default" />
215
- <updated>1705405864340</updated>
216
- <workItem from="1705405865397" duration="557000" />
217
- <workItem from="1705475959709" duration="66000" />
218
- <workItem from="1705476745685" duration="42000" />
219
- <workItem from="1705482583555" duration="1741000" />
220
- <workItem from="1705520401615" duration="1679000" />
221
- <workItem from="1705526288293" duration="39000" />
222
- <workItem from="1707124210562" duration="901000" />
223
- <workItem from="1709579952668" duration="2466000" />
224
- <workItem from="1709671101704" duration="290000" />
225
- <workItem from="1713769095032" duration="116000" />
226
- <workItem from="1730803990300" duration="2495000" />
227
- <workItem from="1741761262308" duration="532000" />
228
- <workItem from="1741856308927" duration="9000" />
229
- <workItem from="1745266749102" duration="42527000" />
230
- <workItem from="1745433489565" duration="22162000" />
231
- <workItem from="1746775623778" duration="14038000" />
232
- <workItem from="1776656121875" duration="4646000" />
233
- </task>
234
- <task id="LOCAL-00001" summary="v 0.4.11 add gulp tasks to client bib">
235
- <option name="closed" value="true" />
236
- <created>1707124863617</created>
237
- <option name="number" value="00001" />
238
- <option name="presentableId" value="LOCAL-00001" />
239
- <option name="project" value="LOCAL" />
240
- <updated>1707124863617</updated>
241
- </task>
242
- <task id="LOCAL-00002" summary="v 0.4.12 gulp fixes">
243
- <option name="closed" value="true" />
244
- <created>1709671325528</created>
245
- <option name="number" value="00002" />
246
- <option name="presentableId" value="LOCAL-00002" />
247
- <option name="project" value="LOCAL" />
248
- <updated>1709671325529</updated>
249
- </task>
250
- <task id="LOCAL-00003" summary="v 0.4.18 update AbstractSDC relations (get_parent, get_children)">
251
- <option name="closed" value="true" />
252
- <created>1713769152596</created>
253
- <option name="number" value="00003" />
254
- <option name="presentableId" value="LOCAL-00003" />
255
- <option name="project" value="LOCAL" />
256
- <updated>1713769152596</updated>
257
- </task>
258
- <task id="LOCAL-00004" summary="v 0.4.18 build">
259
- <option name="closed" value="true" />
260
- <created>1713769189716</created>
261
- <option name="number" value="00004" />
262
- <option name="presentableId" value="LOCAL-00004" />
263
- <option name="project" value="LOCAL" />
264
- <updated>1713769189716</updated>
265
- </task>
266
- <task id="LOCAL-00005" summary="v 0.56.2 Fixed new version bugs">
267
- <option name="closed" value="true" />
268
- <created>1730805685222</created>
269
- <option name="number" value="00005" />
270
- <option name="presentableId" value="LOCAL-00005" />
271
- <option name="project" value="LOCAL" />
272
- <updated>1730805685222</updated>
273
- </task>
274
- <task id="LOCAL-00006" summary="v 0.57.9 Update dependencies">
275
- <option name="closed" value="true" />
276
- <created>1741761774404</created>
277
- <option name="number" value="00006" />
278
- <option name="presentableId" value="LOCAL-00006" />
279
- <option name="project" value="LOCAL" />
280
- <updated>1741761774404</updated>
281
- </task>
282
- <task id="LOCAL-00007" summary="v 0.57.9 added LCB algorithm to reconcile function">
283
- <option name="closed" value="true" />
284
- <created>1745482240699</created>
285
- <option name="number" value="00007" />
286
- <option name="presentableId" value="LOCAL-00007" />
287
- <option name="project" value="LOCAL" />
288
- <updated>1745482240699</updated>
289
- </task>
290
- <task id="LOCAL-00008" summary="v 0.58.0 Models as class objects">
291
- <option name="closed" value="true" />
292
- <created>1776668775427</created>
293
- <option name="number" value="00008" />
294
- <option name="presentableId" value="LOCAL-00008" />
295
- <option name="project" value="LOCAL" />
296
- <updated>1776668775427</updated>
297
- </task>
298
- <task id="LOCAL-00009" summary="v 0.58.0 Models as class objects">
299
- <option name="closed" value="true" />
300
- <created>1776668816174</created>
301
- <option name="number" value="00009" />
302
- <option name="presentableId" value="LOCAL-00009" />
303
- <option name="project" value="LOCAL" />
304
- <updated>1776668816174</updated>
305
- </task>
306
- <task id="LOCAL-00010" summary="v 0.58.0 Models as class objects">
307
- <option name="closed" value="true" />
308
- <created>1776668837064</created>
309
- <option name="number" value="00010" />
310
- <option name="presentableId" value="LOCAL-00010" />
311
- <option name="project" value="LOCAL" />
312
- <updated>1776668837064</updated>
313
- </task>
314
- <task id="LOCAL-00011" summary="v 0.58.0 update ci">
315
- <option name="closed" value="true" />
316
- <created>1776668891797</created>
317
- <option name="number" value="00011" />
318
- <option name="presentableId" value="LOCAL-00011" />
319
- <option name="project" value="LOCAL" />
320
- <updated>1776668891797</updated>
321
- </task>
322
- <task id="LOCAL-00012" summary="v 0.58.0 update ci">
323
- <option name="closed" value="true" />
324
- <created>1776669031982</created>
325
- <option name="number" value="00012" />
326
- <option name="presentableId" value="LOCAL-00012" />
327
- <option name="project" value="LOCAL" />
328
- <updated>1776669031983</updated>
329
- </task>
330
- <task id="LOCAL-00013" summary="v 0.58.0 fixed test with dist">
331
- <option name="closed" value="true" />
332
- <created>1776669821856</created>
333
- <option name="number" value="00013" />
334
- <option name="presentableId" value="LOCAL-00013" />
335
- <option name="project" value="LOCAL" />
336
- <updated>1776669821856</updated>
337
- </task>
338
- <option name="localTasksCounter" value="14" />
339
- <servers />
340
- </component>
341
- <component name="TypeScriptGeneratedFilesManager">
342
- <option name="version" value="3" />
343
- </component>
344
- <component name="VcsManagerConfiguration">
345
- <MESSAGE value="v 0.4.11 add gulp tasks to client bib" />
346
- <MESSAGE value="v 0.4.12 gulp fixes" />
347
- <MESSAGE value="v 0.4.18 update AbstractSDC relations (get_parent, get_children)" />
348
- <MESSAGE value="v 0.4.18 build" />
349
- <MESSAGE value="v 0.56.2 Fixed new version bugs" />
350
- <MESSAGE value="v 0.57.9 Update dependencies" />
351
- <MESSAGE value="v 0.57.9 added LCB algorithm to reconcile function" />
352
- <MESSAGE value="v 0.58.0 Models as class objects" />
353
- <MESSAGE value="v 0.58.0 update ci" />
354
- <MESSAGE value="v 0.58.0 fixed test with dist" />
355
- <option name="LAST_COMMIT_MESSAGE" value="v 0.58.0 fixed test with dist" />
356
- </component>
357
- <component name="VgoProject">
358
- <settings-migrated>true</settings-migrated>
359
- </component>
360
- <component name="XDebuggerManager">
361
- <breakpoint-manager>
362
- <breakpoints>
363
- <line-breakpoint enabled="true" type="javascript">
364
- <url>file://$PROJECT_DIR$/src/simpleDomControl/sdc_model.js</url>
365
- <line>1047</line>
366
- <properties lambdaOrdinal="-1" />
367
- <option name="timeStamp" value="4" />
368
- </line-breakpoint>
369
- <line-breakpoint enabled="true" type="javascript">
370
- <url>file://$PROJECT_DIR$/src/simpleDomControl/sdc_model.js</url>
371
- <line>769</line>
372
- <properties lambdaOrdinal="-1" />
373
- <option name="timeStamp" value="7" />
374
- </line-breakpoint>
375
- <line-breakpoint enabled="true" type="javascript">
376
- <url>file://$PROJECT_DIR$/test/model.test.js</url>
377
- <line>171</line>
378
- <properties lambdaOrdinal="-1" />
379
- <option name="timeStamp" value="14" />
380
- </line-breakpoint>
381
- <line-breakpoint enabled="true" type="javascript">
382
- <url>file://$PROJECT_DIR$/test/model.test.js</url>
383
- <line>161</line>
384
- <properties lambdaOrdinal="-1" />
385
- <option name="timeStamp" value="15" />
386
- </line-breakpoint>
387
- </breakpoints>
388
- </breakpoint-manager>
389
- <watches-manager>
390
- <configuration name="JavaScriptTestRunnerJest">
391
- <watch expression="MAIN.html()" language="JavaScript" />
392
- <watch expression="parseInt(i/2)" language="JavaScript" />
393
- <watch expression="$element.html()" language="JavaScript" />
394
- <watch expression="op.counterpart.$element.html()" language="JavaScript" />
395
- <watch expression="OPS" language="JavaScript" />
396
- </configuration>
397
- </watches-manager>
398
- </component>
399
- <component name="XSLT-Support.FileAssociations.UIState">
400
- <expand />
401
- <select />
402
- </component>
403
- </project>
package/.readthedocs.yaml DELETED
@@ -1,13 +0,0 @@
1
- version: 2
2
-
3
- build:
4
- os: ubuntu-24.04
5
- tools:
6
- python: "3.12"
7
-
8
- sphinx:
9
- configuration: docs/conf.py
10
-
11
- python:
12
- install:
13
- - requirements: docs/requirements.txt
package/.tool-versions DELETED
@@ -1 +0,0 @@
1
- nodejs 22.14.0
@@ -1,12 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <module type="WEB_MODULE" version="4">
3
- <component name="NewModuleRootManager" inherit-compiler-output="true">
4
- <exclude-output />
5
- <content url="file://$MODULE_DIR$">
6
- <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
7
- <sourceFolder url="file://$MODULE_DIR$/test" isTestSource="true" />
8
- </content>
9
- <orderEntry type="sourceFolder" forTests="false" />
10
- <orderEntry type="module" module-name="SimpleDomControl" />
11
- </component>
12
- </module>
@@ -1,225 +0,0 @@
1
- API Reference
2
- =============
3
-
4
- Top-level exports
5
- -----------------
6
-
7
- The package entry point exports the following public API:
8
-
9
- ``app``
10
- Global runtime object.
11
-
12
- ``AbstractSDC``
13
- Base controller class.
14
-
15
- ``SdcModel``
16
- Model base export from ``sdc_model.js``.
17
-
18
- ``SdcQuerySet``
19
- QuerySet collection class for backend-backed models.
20
-
21
- ``registerModel(name, classObj)``
22
- Registers a model class in the global model registry.
23
-
24
- ``on(name, controller)``
25
- Registers a controller or object as a listener for an application event.
26
-
27
- ``trigger(name, ...args)``
28
- Emits an application event and returns a promise of listener results.
29
-
30
- ``allOff(controller)``
31
- Removes the controller from all application event subscriptions.
32
-
33
- ``setEvent(name, functionName = name)``
34
- Maps an application event name to a handler method name.
35
-
36
- ``clearErrorsInForm($form)``
37
- Removes form-level and field-level validation error markup.
38
-
39
- ``setErrorsInForm($form, $resForm)``
40
- Applies validation error markup from a response form fragment.
41
-
42
- ``checkIfParamNumberBoolOrString(value, controller = null)``
43
- Converts serialized DOM values into typed JavaScript values.
44
-
45
- ``controllerFactory(parentController, $element, tagName, superTagNameList)``
46
- Creates a controller instance for a registered tag.
47
-
48
- ``runControlFlowFunctions(controller, process)``
49
- Runs ``onLoad()``, child rendering, ``willShow()``, and refresh.
50
-
51
- ``socketReconnect``
52
- Alias of the server-call ``close()`` function.
53
-
54
- ``test_utils``
55
- Test helpers: ``get_controller()``, ``getCsrfToken()``,
56
- ``controllerFromTestHtml()``.
57
-
58
- ``app`` reference
59
- -----------------
60
-
61
- Bootstrap and registration
62
- ^^^^^^^^^^^^^^^^^^^^^^^^^^
63
-
64
- ``app.init_sdc()``
65
- Initializes the runtime, scans the DOM, and instantiates registered
66
- controllers.
67
-
68
- ``app.register(Controller, overwrite = false)``
69
- Registers a controller class and returns an object with ``addMixin(...)``.
70
-
71
- ``app.registerGlobal(Controller)``
72
- Registers a controller and marks it as global.
73
-
74
- ``app.controllerToTag(Controller)``
75
- Converts a controller class name to a tag name.
76
-
77
- DOM and controller helpers
78
- ^^^^^^^^^^^^^^^^^^^^^^^^^^
79
-
80
- ``app.getController($elem)``
81
- Returns the controller bound to a DOM node or its closest controller parent.
82
-
83
- ``app.refresh($dom, leafController = null)``
84
- Refreshes the controller subtree rooted at the given node.
85
-
86
- ``app.reloadController(controller)``
87
- Reloads controller HTML from ``contentUrl`` and reconciles it into place.
88
-
89
- ``app.reconcile(controller, $virtualNode, $realNode = null, process = null)``
90
- Runs refresh and DOM reconciliation for a controller.
91
-
92
- ``app.cleanCache()``
93
- Clears cached HTML fragments loaded from controller ``contentUrl`` values.
94
-
95
- ``app.updateJquery()``
96
- Installs ``safeReplace()``, ``safeEmpty()``, and ``safeRemove()`` on jQuery.
97
-
98
- Safe DOM operations
99
- ^^^^^^^^^^^^^^^^^^^
100
-
101
- ``app.safeRemove($elem)``
102
- Removes DOM nodes after cleanly removing any controllers contained in them.
103
-
104
- ``app.safeEmpty($elem)``
105
- Safely removes all children of a container.
106
-
107
- ``app.safeReplace($elem, $new)``
108
- Inserts ``$new`` before ``$elem`` and safely removes ``$elem``.
109
-
110
- HTTP and form helpers
111
- ^^^^^^^^^^^^^^^^^^^^^
112
-
113
- ``app.get(controller, url, args)``
114
- GET request wrapper that refreshes the controller on success.
115
-
116
- ``app.post(controller, url, args)``
117
- POST request wrapper that refreshes the controller on success.
118
-
119
- ``app.ajax(controller, url, args, method)``
120
- Shared transport wrapper for ``get`` and ``post``.
121
-
122
- ``app.submitFormAndUpdateView(controller, form, url, method)``
123
- Submits a form, then refreshes the controller when successful.
124
-
125
- ``app.submitForm(form, url, method)``
126
- Submits a form without a controller refresh step.
127
-
128
- ``AbstractSDC`` reference
129
- -------------------------
130
-
131
- Tree and DOM
132
- ^^^^^^^^^^^^
133
-
134
- ``find(selector)``
135
- Shortcut for ``this.$container.find(selector)``.
136
-
137
- ``refresh()``
138
- Refreshes the controller subtree.
139
-
140
- ``reload()``
141
- Reloads controller HTML from the backend.
142
-
143
- ``reconcile($virtualNode, $realNode = null)``
144
- Reconciles virtual HTML into the controller's real DOM.
145
-
146
- ``iterateAllChildren()``
147
- Recursively returns all descendant controllers.
148
-
149
- Lifecycle
150
- ^^^^^^^^^
151
-
152
- ``onInit(...args)``
153
- ``onLoad(html)``
154
- ``willShow()``
155
- ``onRefresh(originController)``
156
- ``onRemove()``
157
-
158
- Networking and models
159
- ^^^^^^^^^^^^^^^^^^^^^
160
-
161
- ``get(url, args)``
162
- ``post(url, args)``
163
- ``submitForm(form, url, method)``
164
- ``serverCall(methodName, args)``
165
- ``querySet(modelName, modelQuery = {})``
166
- ``noOpenModelRequests()``
167
-
168
- Forms
169
- ^^^^^
170
-
171
- ``submitModelFormDistributor($form, event)``
172
- ``defaultSubmitModelForm($form, event)``
173
-
174
- ``SdcQuerySet`` reference
175
- -------------------------
176
-
177
- Collection API
178
- ^^^^^^^^^^^^^^
179
-
180
- ``length``
181
- ``[index]``
182
- ``[Symbol.iterator]()``
183
- ``getIds()``
184
- ``setIds(ids)``
185
- ``byId(id)``
186
- ``new()``
187
-
188
- Query and transport
189
- ^^^^^^^^^^^^^^^^^^^
190
-
191
- ``setFilter(modelQuery)``
192
- ``addFilter(modelQuery)``
193
- ``load(modelQuery = null)``
194
- ``update({ modelQuery = null, item = null })``
195
- ``get(modelQuery = null)``
196
- ``delete({ pk = null, elem = null })``
197
- ``save({ pk = null, formName = "edit_form", data = null })``
198
- ``create({ elem, data = null })``
199
- ``isConnected()``
200
- ``close()``
201
- ``noOpenRequests()``
202
-
203
- View rendering
204
- ^^^^^^^^^^^^^^
205
-
206
- ``view({ viewName = "html_list_template", modelQuery = {}, cbResolve = null,
207
- cbReject = null, templateContext = {}, eventType = "named_view" })``
208
-
209
- ``listView({ modelQuery = {}, cbResolve = null, cbReject = null,
210
- templateContext = {} })``
211
-
212
- ``detailView({ pk, cbResolve = null, cbReject = null, templateContext = {} })``
213
-
214
- Test utilities
215
- --------------
216
-
217
- ``getCsrfToken()``
218
- Reads the ``csrftoken`` cookie in test environments.
219
-
220
- ``get_controller(tag_name, init_arguments = {}, origen_html = "")``
221
- Creates a controller through the normal SDC lifecycle in a JSDOM test.
222
-
223
- ``controllerFromTestHtml(html, afterLifecycle = null)``
224
- Bootstraps controllers from arbitrary test HTML and returns the resulting
225
- controller list.
package/docs/conf.py DELETED
@@ -1,11 +0,0 @@
1
- project = "SimpleDomControlClient"
2
- author = "Martin Starman"
3
- copyright = "2026, Martin Starman"
4
- release = "0.58.6"
5
-
6
- extensions = []
7
- templates_path = ["_templates"]
8
- exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"]
9
-
10
- html_theme = "alabaster"
11
- html_static_path = ["_static"]