sdc_client 0.158.9 → 0.159.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.
- package/CHANGELOG.md +53 -0
- package/LICENSE +21 -0
- package/dist/index.js +23 -13
- package/dist/ugly.index.js +2 -1
- package/dist/ugly.index.js.LICENSE.txt +1 -8
- package/gulp/gulp.jsx +11 -36
- package/package.json +22 -11
- package/src/index.js +27 -7
- package/src/simpleDomControl/AbstractSDC.js +15 -11
- package/src/simpleDomControl/sdc_controller.js +3 -3
- package/src/simpleDomControl/sdc_dom_events.js +5 -10
- package/src/simpleDomControl/sdc_events.js +3 -3
- package/src/simpleDomControl/sdc_main.js +34 -13
- package/src/simpleDomControl/sdc_model.js +209 -84
- package/src/simpleDomControl/sdc_params.js +0 -3
- package/src/simpleDomControl/sdc_server_call.js +21 -4
- package/src/simpleDomControl/sdc_test_utils.js +0 -1
- package/src/simpleDomControl/sdc_utils.js +59 -7
- package/src/simpleDomControl/sdc_view.js +16 -1
- package/.github/workflows/node.js.yml +0 -38
- package/.idea/inspectionProfiles/Project_Default.xml +0 -17
- package/.idea/jsLibraryMappings.xml +0 -6
- package/.idea/misc.xml +0 -6
- package/.idea/modules.xml +0 -8
- package/.idea/vcs.xml +0 -6
- package/.idea/workspace.xml +0 -403
- package/.readthedocs.yaml +0 -13
- package/.tool-versions +0 -1
- package/SimpleDomControlClient.iml +0 -12
- package/docs/api-reference.rst +0 -225
- package/docs/conf.py +0 -11
- package/docs/controllers.rst +0 -228
- package/docs/events-and-dom.rst +0 -120
- package/docs/getting-started.rst +0 -143
- package/docs/index.rst +0 -22
- package/docs/models.rst +0 -351
- package/docs/overview.rst +0 -66
- package/docs/requirements.txt +0 -1
- package/eslint.config.js +0 -43
- package/gulpfile.cjs +0 -30
- package/jest.config.mjs +0 -197
- package/test/controller.test.js +0 -93
- package/test/dist.test.js +0 -127
- package/test/model.test.js +0 -330
- package/test/models/Author.js +0 -145
- package/test/models/Book.js +0 -112
- package/test/models/BookContent.js +0 -114
- package/test/models/SdcUser.js +0 -75
- package/test/models/src.js +0 -8
- package/test/sdc_model_dates.ai.test.js +0 -57
- package/test/sdc_server_call.ai.test.js +0 -267
- package/test/utils.js +0 -88
- package/test/view.test.js +0 -159
- package/test-setup.js +0 -4
- package/webpack.config/webpack.default.config.cjs +0 -14
- package/webpack.config/webpack.development.config.cjs +0 -14
- package/webpack.config/webpack.production.config.cjs +0 -11
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {SdcModel, SdcQuerySet} from "../index.js";
|
|
1
|
+
import { SdcModel, SdcQuerySet } from "../index.js";
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Reference to the HTML body.
|
|
@@ -193,7 +193,7 @@ function progressHandlingFunction(e) {
|
|
|
193
193
|
|
|
194
194
|
$progressContainer
|
|
195
195
|
.find(".progress-bar")
|
|
196
|
-
.css({width: percentVal})
|
|
196
|
+
.css({ width: percentVal })
|
|
197
197
|
.text(percentVal);
|
|
198
198
|
}
|
|
199
199
|
}
|
|
@@ -331,7 +331,7 @@ function parseHiddenInputs(value) {
|
|
|
331
331
|
}
|
|
332
332
|
|
|
333
333
|
export function getValueFromField(formItem) {
|
|
334
|
-
let {type, name} = formItem;
|
|
334
|
+
let { type, name } = formItem;
|
|
335
335
|
if (name && name !== "") {
|
|
336
336
|
if (type === "hidden") {
|
|
337
337
|
return parseHiddenInputs($(formItem).val());
|
|
@@ -350,12 +350,64 @@ export function getValueFromField(formItem) {
|
|
|
350
350
|
return null;
|
|
351
351
|
}
|
|
352
352
|
|
|
353
|
+
const pad2 = (n) => String(n).padStart(2, "0");
|
|
354
|
+
|
|
355
|
+
/**
|
|
356
|
+
* Convert a Date, a date string or a timestamp into a valid Date.
|
|
357
|
+
* A date-only string ("YYYY-MM-DD") is read as local midnight, not UTC,
|
|
358
|
+
* so the day does not shift in time zones west of UTC.
|
|
359
|
+
*
|
|
360
|
+
* @param {*} value
|
|
361
|
+
* @returns {?Date} null if the value is empty or not a valid date
|
|
362
|
+
*/
|
|
363
|
+
export function toDate(value) {
|
|
364
|
+
if (value === null || value === undefined || value === "") {
|
|
365
|
+
return null;
|
|
366
|
+
}
|
|
367
|
+
let date;
|
|
368
|
+
if (value instanceof Date) {
|
|
369
|
+
date = value;
|
|
370
|
+
} else if (typeof value === "string" && /^\d{4}-\d{2}-\d{2}$/.test(value)) {
|
|
371
|
+
const [y, m, d] = value.split("-").map(Number);
|
|
372
|
+
date = new Date(y, m - 1, d);
|
|
373
|
+
} else {
|
|
374
|
+
date = new Date(value);
|
|
375
|
+
}
|
|
376
|
+
return isNaN(date.getTime()) ? null : date;
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
/**
|
|
380
|
+
* @param {*} value
|
|
381
|
+
* @returns {string} "YYYY-MM-DD" in local time, or "" if not a valid date
|
|
382
|
+
*/
|
|
383
|
+
export function formatDate(value) {
|
|
384
|
+
const date = toDate(value);
|
|
385
|
+
if (!date) {
|
|
386
|
+
return "";
|
|
387
|
+
}
|
|
388
|
+
return `${date.getFullYear()}-${pad2(date.getMonth() + 1)}-${pad2(date.getDate())}`;
|
|
389
|
+
}
|
|
390
|
+
|
|
391
|
+
/**
|
|
392
|
+
* @param {*} value
|
|
393
|
+
* @returns {string} "YYYY-MM-DDTHH:MM" in local time, or "" if not a valid date
|
|
394
|
+
*/
|
|
395
|
+
export function formatDateTimeLocal(value) {
|
|
396
|
+
const date = toDate(value);
|
|
397
|
+
if (!date) {
|
|
398
|
+
return "";
|
|
399
|
+
}
|
|
400
|
+
return `${formatDate(date)}T${pad2(date.getHours())}:${pad2(date.getMinutes())}`;
|
|
401
|
+
}
|
|
353
402
|
|
|
354
403
|
export function setValueInField(formItem, value) {
|
|
355
|
-
let {type, name} = formItem;
|
|
404
|
+
let { type, name } = formItem;
|
|
356
405
|
if (name && name !== "") {
|
|
357
|
-
|
|
358
|
-
|
|
406
|
+
if (type === "datetime-local") {
|
|
407
|
+
formItem.value = formatDateTimeLocal(value);
|
|
408
|
+
} else if (type === "date") {
|
|
409
|
+
formItem.value = formatDate(value);
|
|
410
|
+
} else if (type === "checkbox") {
|
|
359
411
|
formItem.checked = !!value;
|
|
360
412
|
} else if (type === "file") {
|
|
361
413
|
if (value instanceof File) {
|
|
@@ -368,7 +420,7 @@ export function setValueInField(formItem, value) {
|
|
|
368
420
|
} else if (value instanceof SdcModel) {
|
|
369
421
|
$(formItem).val(value.id);
|
|
370
422
|
} else if (value instanceof SdcQuerySet) {
|
|
371
|
-
$(formItem).val(`[${value.getIds().join(
|
|
423
|
+
$(formItem).val(`[${value.getIds().join(",")}]`);
|
|
372
424
|
} else {
|
|
373
425
|
if (value === null) {
|
|
374
426
|
value = "";
|
|
@@ -72,7 +72,7 @@ function findSdcTgs($container, tagNameList, parentController) {
|
|
|
72
72
|
*/
|
|
73
73
|
function replacePlaceholderController(controller, url, urlValues) {
|
|
74
74
|
for (let key_idx in controller._urlParams) {
|
|
75
|
-
if (controller._urlParams
|
|
75
|
+
if (Object.hasOwn(controller._urlParams, key_idx)) {
|
|
76
76
|
let key = controller._urlParams[key_idx];
|
|
77
77
|
let re = RegExp("%\\(" + key + "\\)\\w", "gm");
|
|
78
78
|
const val = urlValues[key];
|
|
@@ -516,7 +516,22 @@ export function reconcile($virtualNode, $realNode) {
|
|
|
516
516
|
toRemove.forEach(($element) => $element.safeRemove());
|
|
517
517
|
}
|
|
518
518
|
|
|
519
|
+
/**
|
|
520
|
+
* Replace the event listeners added by sdcDom (JSX on* props) on a kept node
|
|
521
|
+
* with the listeners of its new virtual counterpart.
|
|
522
|
+
*/
|
|
523
|
+
function syncListeners(real, virtual) {
|
|
524
|
+
if (!real || !virtual || (!real._sdcListeners && !virtual._sdcListeners)) {
|
|
525
|
+
return;
|
|
526
|
+
}
|
|
527
|
+
(real._sdcListeners ?? []).forEach(([type, fn]) => real.removeEventListener(type, fn));
|
|
528
|
+
const listeners = virtual._sdcListeners ?? [];
|
|
529
|
+
listeners.forEach(([type, fn]) => real.addEventListener(type, fn));
|
|
530
|
+
real._sdcListeners = listeners;
|
|
531
|
+
}
|
|
532
|
+
|
|
519
533
|
function syncAttributes($real, $virtual) {
|
|
534
|
+
syncListeners($real[0], $virtual[0]);
|
|
520
535
|
const realAttrs = $real[0].attributes ?? [];
|
|
521
536
|
const virtualAttrs = $virtual[0].attributes ?? [];
|
|
522
537
|
// Remove missing attrs
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
# This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node
|
|
2
|
-
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-nodejs
|
|
3
|
-
|
|
4
|
-
name: Node.js CI
|
|
5
|
-
|
|
6
|
-
on:
|
|
7
|
-
push:
|
|
8
|
-
branches: [ "main" ]
|
|
9
|
-
pull_request:
|
|
10
|
-
branches: [ "main" ]
|
|
11
|
-
|
|
12
|
-
jobs:
|
|
13
|
-
build:
|
|
14
|
-
|
|
15
|
-
runs-on: ubuntu-latest
|
|
16
|
-
|
|
17
|
-
strategy:
|
|
18
|
-
matrix:
|
|
19
|
-
node-version: [20.x, 22.x]
|
|
20
|
-
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
|
|
21
|
-
|
|
22
|
-
steps:
|
|
23
|
-
- uses: actions/checkout@v4
|
|
24
|
-
- name: Use Node.js ${{ matrix.node-version }}
|
|
25
|
-
uses: actions/setup-node@v4
|
|
26
|
-
with:
|
|
27
|
-
node-version: ${{ matrix.node-version }}
|
|
28
|
-
cache: 'npm'
|
|
29
|
-
|
|
30
|
-
- name: Install dependencies (npm)
|
|
31
|
-
run: |
|
|
32
|
-
npm i -g yarn
|
|
33
|
-
yarn install
|
|
34
|
-
|
|
35
|
-
- name: Run Tests
|
|
36
|
-
run: |
|
|
37
|
-
yarn test
|
|
38
|
-
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
<component name="InspectionProjectProfileManager">
|
|
2
|
-
<profile version="1.0">
|
|
3
|
-
<option name="myName" value="Project Default" />
|
|
4
|
-
<inspection_tool class="Eslint" enabled="true" level="WARNING" enabled_by_default="true" />
|
|
5
|
-
<inspection_tool class="HtmlUnknownAttribute" enabled="true" level="WARNING" enabled_by_default="true">
|
|
6
|
-
<option name="myValues">
|
|
7
|
-
<value>
|
|
8
|
-
<list size="1">
|
|
9
|
-
<item index="0" class="java.lang.String" itemvalue="keydown" />
|
|
10
|
-
</list>
|
|
11
|
-
</value>
|
|
12
|
-
</option>
|
|
13
|
-
<option name="myCustomValuesEnabled" value="true" />
|
|
14
|
-
</inspection_tool>
|
|
15
|
-
<inspection_tool class="JSHint" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
16
|
-
</profile>
|
|
17
|
-
</component>
|
package/.idea/misc.xml
DELETED
package/.idea/modules.xml
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<project version="4">
|
|
3
|
-
<component name="ProjectModuleManager">
|
|
4
|
-
<modules>
|
|
5
|
-
<module fileurl="file://$PROJECT_DIR$/SimpleDomControlClient.iml" filepath="$PROJECT_DIR$/SimpleDomControlClient.iml" />
|
|
6
|
-
</modules>
|
|
7
|
-
</component>
|
|
8
|
-
</project>
|
package/.idea/vcs.xml
DELETED
package/.idea/workspace.xml
DELETED
|
@@ -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
|
-
"lastFilter": {
|
|
28
|
-
"state": "OPEN",
|
|
29
|
-
"assignee": "StarmanMartin"
|
|
30
|
-
}
|
|
31
|
-
}</component>
|
|
32
|
-
<component name="GithubPullRequestsUISettings">{
|
|
33
|
-
"selectedUrlAndAccountId": {
|
|
34
|
-
"url": "https://github.com/StarmanMartin/SimpleDomControlClient.git",
|
|
35
|
-
"accountId": "1d79fbc5-ed50-41ec-9a5c-ee6e5d964451"
|
|
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
|
-
"associatedIndex": 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
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>
|