@web-atoms/core 2.6.24 → 2.6.25

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 (120) hide show
  1. package/dist-esm/App.js +231 -235
  2. package/dist-esm/Atom.js +93 -96
  3. package/dist-esm/MockApp.js +17 -18
  4. package/dist-esm/Pack.js +1 -3
  5. package/dist-esm/core/AtomBinder.js +189 -187
  6. package/dist-esm/core/AtomComponent.js +479 -502
  7. package/dist-esm/core/AtomDispatcher.js +46 -48
  8. package/dist-esm/core/AtomDisposableList.js +24 -25
  9. package/dist-esm/core/AtomEnumerator.js +15 -16
  10. package/dist-esm/core/AtomList.js +193 -192
  11. package/dist-esm/core/AtomLoader.js +229 -215
  12. package/dist-esm/core/AtomMap.js +7 -8
  13. package/dist-esm/core/AtomOnce.js +22 -24
  14. package/dist-esm/core/AtomSelectableList.js +240 -243
  15. package/dist-esm/core/AtomUri.js +70 -72
  16. package/dist-esm/core/AtomWatcher.js +105 -111
  17. package/dist-esm/core/Bind.js +271 -269
  18. package/dist-esm/core/BindableProperty.js +26 -27
  19. package/dist-esm/core/CancelTokenFactory.js +21 -24
  20. package/dist-esm/core/Color.js +1 -2
  21. package/dist-esm/core/Colors.js +545 -231
  22. package/dist-esm/core/Command.js +236 -223
  23. package/dist-esm/core/Defer.js +21 -22
  24. package/dist-esm/core/EventScope.js +96 -88
  25. package/dist-esm/core/ExpressionParser.js +132 -144
  26. package/dist-esm/core/ExtendControl.js +7 -8
  27. package/dist-esm/core/FormattedError.js +7 -8
  28. package/dist-esm/core/FormattedString.js +4 -5
  29. package/dist-esm/core/Hacks.js +41 -42
  30. package/dist-esm/core/IFetchEvent.js +1 -2
  31. package/dist-esm/core/IScreen.js +1 -2
  32. package/dist-esm/core/IValueConverter.js +1 -2
  33. package/dist-esm/core/InheritedProperty.js +61 -63
  34. package/dist-esm/core/InjectProperty.js +12 -13
  35. package/dist-esm/core/KeyValuePairs.js +1 -2
  36. package/dist-esm/core/Markdown.js +14 -17
  37. package/dist-esm/core/MarkdownError.js +6 -7
  38. package/dist-esm/core/PropertyBinding.js +1 -2
  39. package/dist-esm/core/PropertyMap.js +28 -27
  40. package/dist-esm/core/Route.js +149 -148
  41. package/dist-esm/core/SingleInvoker.js +32 -35
  42. package/dist-esm/core/StringHelper.js +49 -51
  43. package/dist-esm/core/TransientDisposable.js +14 -16
  44. package/dist-esm/core/WatchProperty.js +18 -17
  45. package/dist-esm/core/WebImage.js +7 -8
  46. package/dist-esm/core/XNode.js +134 -117
  47. package/dist-esm/core/sleep.js +21 -24
  48. package/dist-esm/core/types.js +102 -103
  49. package/dist-esm/di/DISingleton.js +7 -5
  50. package/dist-esm/di/DITransient.js +7 -5
  51. package/dist-esm/di/IMockOrInject.js +1 -2
  52. package/dist-esm/di/IServiceProvider.js +1 -2
  53. package/dist-esm/di/Inject.js +67 -67
  54. package/dist-esm/di/Register.js +25 -26
  55. package/dist-esm/di/RegisterScoped.js +4 -3
  56. package/dist-esm/di/RegisterSingleton.js +4 -3
  57. package/dist-esm/di/ServiceCollection.js +38 -37
  58. package/dist-esm/di/ServiceProvider.js +94 -94
  59. package/dist-esm/di/TypeKey.js +13 -12
  60. package/dist-esm/services/BusyIndicatorService.js +7 -11
  61. package/dist-esm/services/CacheService.js +54 -62
  62. package/dist-esm/services/FetchBuilder.js +327 -278
  63. package/dist-esm/services/JsonService.js +118 -116
  64. package/dist-esm/services/MockNavigationService.js +127 -126
  65. package/dist-esm/services/NavigationService.js +95 -102
  66. package/dist-esm/services/ReferenceService.js +30 -33
  67. package/dist-esm/services/http/AjaxOptions.js +1 -3
  68. package/dist-esm/services/http/JsonError.js +16 -15
  69. package/dist-esm/services/http/RestService.js +314 -323
  70. package/dist-esm/style/StyleRule.js +1 -2
  71. package/dist-esm/test.js +0 -1
  72. package/dist-esm/unit/AtomTest.js +10 -11
  73. package/dist-esm/view-model/Action.js +258 -223
  74. package/dist-esm/view-model/AtomViewModel.js +234 -232
  75. package/dist-esm/view-model/AtomWindowViewModel.js +13 -14
  76. package/dist-esm/view-model/BindableUrlParameter.js +7 -8
  77. package/dist-esm/view-model/Delay.js +21 -25
  78. package/dist-esm/view-model/Disposable.js +28 -29
  79. package/dist-esm/view-model/Load.js +72 -73
  80. package/dist-esm/view-model/Once.js +33 -35
  81. package/dist-esm/view-model/baseTypes.js +4 -5
  82. package/dist-esm/view-model/bindPromise.js +24 -27
  83. package/dist-esm/view-model/bindProperty.js +3 -4
  84. package/dist-esm/view-model/bindUrlParameter.js +39 -43
  85. package/dist-esm/web/controls/AtomComboBox.js +56 -63
  86. package/dist-esm/web/controls/AtomControl.js +485 -490
  87. package/dist-esm/web/controls/AtomGridSplitter.js +57 -50
  88. package/dist-esm/web/controls/AtomGridView.js +230 -222
  89. package/dist-esm/web/controls/AtomItemsControl.js +677 -688
  90. package/dist-esm/web/controls/AtomPage.js +6 -7
  91. package/dist-esm/web/controls/AtomTemplate.js +1 -3
  92. package/dist-esm/web/controls/AtomTemplateControl.js +28 -29
  93. package/dist-esm/web/controls/AtomViewStack.js +19 -20
  94. package/dist-esm/web/core/AtomUI.js +200 -200
  95. package/dist-esm/web/core/Encoder.js +142 -152
  96. package/dist-esm/web/core/HtmlNode.js +141 -139
  97. package/dist-esm/web/images/Busy.js +1 -2
  98. package/dist-esm/web/images/BusyDataUrl.js +2 -869
  99. package/dist-esm/web/images/Button.js +1 -2
  100. package/dist-esm/web/images/ButtonDataUrl.js +2 -30
  101. package/dist-esm/web/images/CloseButton.js +1 -2
  102. package/dist-esm/web/images/CloseButtonDataUrl.js +2 -30
  103. package/dist-esm/web/images/CloseButtonHover.js +1 -2
  104. package/dist-esm/web/images/CloseButtonHoverDataUrl.js +2 -24
  105. package/dist-esm/web/services/LastTarget.js +31 -29
  106. package/dist-esm/web/services/MarkdownService.js +19 -31
  107. package/dist-esm/web/services/NotificationPopup.js +28 -21
  108. package/dist-esm/web/services/PopupService.js +512 -478
  109. package/dist-esm/web/services/PopupWindow.js +266 -247
  110. package/dist-esm/web/styles/AtomAlertWindowStyle.js +39 -40
  111. package/dist-esm/web/styles/AtomFrameStyle.js +15 -16
  112. package/dist-esm/web/styles/AtomNotificationStyle.js +19 -20
  113. package/dist-esm/web/styles/AtomPageLinkStyle.js +11 -12
  114. package/dist-esm/web/styles/AtomPopupStyle.js +9 -10
  115. package/dist-esm/web/styles/AtomStyle.js +61 -64
  116. package/dist-esm/web/styles/AtomStyleSheet.js +50 -51
  117. package/dist-esm/web/styles/AtomWindowStyle.js +116 -117
  118. package/dist-esm/web/styles/IStyleDeclaration.js +1 -2
  119. package/dist-esm/web/styles/StyleBuilder.js +79 -80
  120. package/package.json +1 -1
@@ -1,54 +1,52 @@
1
1
  export class AtomDispatcher {
2
- constructor() {
3
- this.head = null;
4
- this.tail = null;
2
+ constructor() {
3
+ this.head = null;
4
+ this.tail = null;
5
+ }
6
+ onTimeout() {
7
+ if (this.paused) {
8
+ return;
5
9
  }
6
- onTimeout() {
7
- if (this.paused) {
8
- return;
9
- }
10
- if (!this.head) {
11
- return;
12
- }
13
- const item = this.head;
14
- this.head = item.next;
15
- item.next = null;
16
- if (!this.head) {
17
- this.tail = null;
18
- }
19
- item();
20
- setTimeout(() => {
21
- this.onTimeout();
22
- }, 1);
10
+ if (!this.head) {
11
+ return;
23
12
  }
24
- pause() {
25
- this.paused = true;
13
+ const item = this.head;
14
+ this.head = item.next;
15
+ item.next = null;
16
+ if (!this.head) {
17
+ this.tail = null;
26
18
  }
27
- start() {
28
- this.paused = false;
29
- setTimeout(() => {
30
- this.onTimeout();
31
- }, 1);
19
+ item();
20
+ setTimeout(() => {
21
+ this.onTimeout();
22
+ }, 1);
23
+ }
24
+ pause() {
25
+ this.paused = true;
26
+ }
27
+ start() {
28
+ this.paused = false;
29
+ setTimeout(() => {
30
+ this.onTimeout();
31
+ }, 1);
32
+ }
33
+ callLater(f) {
34
+ if (this.tail) {
35
+ this.tail.next = f;
36
+ this.tail = f;
37
+ } else {
38
+ this.head = f;
39
+ this.tail = f;
32
40
  }
33
- callLater(f) {
34
- if (this.tail) {
35
- this.tail.next = f;
36
- this.tail = f;
37
- }
38
- else {
39
- this.head = f;
40
- this.tail = f;
41
- }
42
- if (!this.paused) {
43
- this.start();
44
- }
41
+ if (!this.paused) {
42
+ this.start();
45
43
  }
46
- waitForAll() {
47
- return new Promise((resolve, reject) => {
48
- this.callLater(() => {
49
- resolve();
50
- });
51
- });
52
- }
53
- }
54
- //# sourceMappingURL=AtomDispatcher.js.map
44
+ }
45
+ waitForAll() {
46
+ return new Promise((resolve, reject) => {
47
+ this.callLater(() => {
48
+ resolve();
49
+ });
50
+ });
51
+ }
52
+ }
@@ -1,28 +1,27 @@
1
1
  export class AtomDisposableList {
2
- constructor() {
3
- this.disposables = [];
2
+ constructor() {
3
+ this.disposables = [];
4
+ }
5
+ add(d) {
6
+ if (typeof d === "function") {
7
+ const fx = d;
8
+ d = {
9
+ dispose: fx
10
+ };
4
11
  }
5
- add(d) {
6
- if (typeof d === "function") {
7
- const fx = d;
8
- d = {
9
- dispose: fx
10
- };
11
- }
12
- this.disposables.push(d);
13
- const dx = d;
14
- return {
15
- dispose: () => {
16
- this.disposables = this.disposables.filter((x) => x !== dx);
17
- dx.dispose();
18
- }
19
- };
12
+ this.disposables.push(d);
13
+ const dx = d;
14
+ return {
15
+ dispose: () => {
16
+ this.disposables = this.disposables.filter(x => x !== dx);
17
+ dx.dispose();
18
+ }
19
+ };
20
+ }
21
+ dispose() {
22
+ for (const iterator of this.disposables) {
23
+ iterator.dispose();
20
24
  }
21
- dispose() {
22
- for (const iterator of this.disposables) {
23
- iterator.dispose();
24
- }
25
- this.disposables.length = 0;
26
- }
27
- }
28
- //# sourceMappingURL=AtomDisposableList.js.map
25
+ this.disposables.length = 0;
26
+ }
27
+ }
@@ -1,17 +1,16 @@
1
1
  export default class AtomEnumerator {
2
- constructor(items) {
3
- this.items = items;
4
- this.index = -1;
5
- }
6
- next() {
7
- this.index++;
8
- return this.index < this.items.length;
9
- }
10
- get current() {
11
- return this.items[this.index];
12
- }
13
- get currentIndex() {
14
- return this.index;
15
- }
16
- }
17
- //# sourceMappingURL=AtomEnumerator.js.map
2
+ constructor(items) {
3
+ this.items = items;
4
+ this.index = -1;
5
+ }
6
+ next() {
7
+ this.index++;
8
+ return this.index < this.items.length;
9
+ }
10
+ get current() {
11
+ return this.items[this.index];
12
+ }
13
+ get currentIndex() {
14
+ return this.index;
15
+ }
16
+ }
@@ -1,199 +1,200 @@
1
1
  import { AtomBinder } from "./AtomBinder.js";
2
2
  export class AtomList extends Array {
3
- constructor() {
4
- super();
5
- this.startValue = 0;
6
- this.totalValue = 0;
7
- this.sizeValue = 10;
8
- this["__proto__"] = AtomList.prototype;
9
- this.next = () => {
10
- this.start = this.start + this.size;
11
- };
12
- this.prev = () => {
13
- if (this.start >= this.size) {
14
- this.start = this.start - this.size;
15
- }
16
- };
17
- }
18
- get start() {
19
- return this.startValue;
20
- }
21
- set start(v) {
22
- if (v === this.startValue) {
23
- return;
24
- }
25
- this.startValue = v;
26
- AtomBinder.refreshValue(this, "start");
27
- }
28
- get total() {
29
- return this.totalValue;
30
- }
31
- set total(v) {
32
- if (v === this.totalValue) {
33
- return;
34
- }
35
- this.totalValue = v;
36
- AtomBinder.refreshValue(this, "total");
37
- }
38
- get size() {
39
- return this.sizeValue;
40
- }
41
- set size(v) {
42
- if (v === this.sizeValue) {
43
- return;
44
- }
45
- this.sizeValue = v;
46
- AtomBinder.refreshValue(this, "size");
47
- }
48
- add(item) {
49
- const i = this.length;
50
- const n = this.push(item);
51
- AtomBinder.invokeItemsEvent(this, "add", i, item);
52
- AtomBinder.refreshValue(this, "length");
53
- return n;
54
- }
55
- addAll(items) {
56
- for (const item of items) {
57
- const i = this.length;
58
- this.push(item);
59
- AtomBinder.invokeItemsEvent(this, "add", i, item);
60
- AtomBinder.refreshValue(this, "length");
61
- }
62
- const t = items["total"];
63
- if (t) {
64
- this.total = t;
65
- }
66
- }
67
- replace(items, start, size) {
68
- this.length = items.length;
69
- for (let i = 0; i < items.length; i++) {
70
- this[i] = items[i];
3
+ constructor() {
4
+ super();
5
+ this.startValue = 0;
6
+ this.totalValue = 0;
7
+ this.sizeValue = 10;
8
+ this["__proto__"] = AtomList.prototype;
9
+ this.next = () => {
10
+ this.start = this.start + this.size;
11
+ };
12
+ this.prev = () => {
13
+ if (this.start >= this.size) {
14
+ this.start = this.start - this.size;
15
+ }
16
+ };
17
+ }
18
+ get start() {
19
+ return this.startValue;
20
+ }
21
+ set start(v) {
22
+ if (v === this.startValue) {
23
+ return;
24
+ }
25
+ this.startValue = v;
26
+ AtomBinder.refreshValue(this, "start");
27
+ }
28
+ get total() {
29
+ return this.totalValue;
30
+ }
31
+ set total(v) {
32
+ if (v === this.totalValue) {
33
+ return;
34
+ }
35
+ this.totalValue = v;
36
+ AtomBinder.refreshValue(this, "total");
37
+ }
38
+ get size() {
39
+ return this.sizeValue;
40
+ }
41
+ set size(v) {
42
+ if (v === this.sizeValue) {
43
+ return;
44
+ }
45
+ this.sizeValue = v;
46
+ AtomBinder.refreshValue(this, "size");
47
+ }
48
+ add(item) {
49
+ const i = this.length;
50
+ const n = this.push(item);
51
+ AtomBinder.invokeItemsEvent(this, "add", i, item);
52
+ AtomBinder.refreshValue(this, "length");
53
+ return n;
54
+ }
55
+ addAll(items) {
56
+ for (const item of items) {
57
+ const i = this.length;
58
+ this.push(item);
59
+ AtomBinder.invokeItemsEvent(this, "add", i, item);
60
+ AtomBinder.refreshValue(this, "length");
61
+ }
62
+ const t = items["total"];
63
+ if (t) {
64
+ this.total = t;
65
+ }
66
+ }
67
+ replace(items, start, size) {
68
+ this.length = items.length;
69
+ for (let i = 0; i < items.length; i++) {
70
+ this[i] = items[i];
71
+ }
72
+ this.refresh();
73
+ const t = items["total"];
74
+ if (t) {
75
+ this.total = t;
76
+ }
77
+ if (start !== undefined) {
78
+ this.start = start;
79
+ }
80
+ if (size !== undefined) {
81
+ this.size = size;
82
+ }
83
+ }
84
+ insert(i, item) {
85
+ const n = this.splice(i, 0, item);
86
+ AtomBinder.invokeItemsEvent(this, "add", i, item);
87
+ AtomBinder.refreshValue(this, "length");
88
+ }
89
+ set(i, item) {
90
+ const old = this[i];
91
+ this[i] = item;
92
+ AtomBinder.invokeItemsEvent(this, "replace", i, item, old);
93
+ AtomBinder.refreshValue(this, "length");
94
+ }
95
+ removeAt(i) {
96
+ const item = this[i];
97
+ this.splice(i, 1);
98
+ AtomBinder.invokeItemsEvent(this, "remove", i, item);
99
+ AtomBinder.refreshValue(this, "length");
100
+ return item;
101
+ }
102
+ remove(item) {
103
+ if (item instanceof Function) {
104
+ let removed = false;
105
+ for (let index = 0; index < this.length;) {
106
+ const it = this[index];
107
+ if (item(it)) {
108
+ this.splice(index, 1);
109
+ AtomBinder.invokeItemsEvent(this, "remove", index, it);
110
+ AtomBinder.refreshValue(this, "length");
111
+ removed = true;
112
+ continue;
71
113
  }
72
- this.refresh();
73
- const t = items["total"];
74
- if (t) {
75
- this.total = t;
114
+ index++;
115
+ }
116
+ return removed;
117
+ }
118
+ const n = this.indexOf(item);
119
+ if (n !== -1) {
120
+ this.removeAt(n);
121
+ return true;
122
+ }
123
+ return false;
124
+ }
125
+ clear() {
126
+ this.length = 0;
127
+ this.refresh();
128
+ }
129
+ refresh() {
130
+ AtomBinder.invokeItemsEvent(this, "refresh", -1, null);
131
+ AtomBinder.refreshValue(this, "length");
132
+ }
133
+ watch(f, wrap) {
134
+ if (wrap) {
135
+ const fx = f;
136
+ f = function () {
137
+ const p = [];
138
+ for (let i = 0; i < arguments.length; i++) {
139
+ const iterator = arguments[i];
140
+ p.push(iterator);
76
141
  }
77
- if (start !== undefined) {
78
- this.start = start;
79
- }
80
- if (size !== undefined) {
81
- this.size = size;
82
- }
83
- }
84
- insert(i, item) {
85
- const n = this.splice(i, 0, item);
86
- AtomBinder.invokeItemsEvent(this, "add", i, item);
87
- AtomBinder.refreshValue(this, "length");
88
- }
89
- set(i, item) {
90
- const old = this[i];
91
- this[i] = item;
92
- AtomBinder.invokeItemsEvent(this, "replace", i, item, old);
93
- AtomBinder.refreshValue(this, "length");
94
- }
95
- removeAt(i) {
96
- const item = this[i];
97
- this.splice(i, 1);
98
- AtomBinder.invokeItemsEvent(this, "remove", i, item);
99
- AtomBinder.refreshValue(this, "length");
100
- return item;
101
- }
102
- remove(item) {
103
- if (item instanceof Function) {
104
- let removed = false;
105
- for (let index = 0; index < this.length;) {
106
- const it = this[index];
107
- if (item(it)) {
108
- this.splice(index, 1);
109
- AtomBinder.invokeItemsEvent(this, "remove", index, it);
110
- AtomBinder.refreshValue(this, "length");
111
- removed = true;
112
- continue;
113
- }
114
- index++;
115
- }
116
- return removed;
117
- }
118
- const n = this.indexOf(item);
119
- if (n !== -1) {
120
- this.removeAt(n);
121
- return true;
122
- }
123
- return false;
124
- }
125
- clear() {
126
- this.length = 0;
127
- this.refresh();
128
- }
129
- refresh() {
130
- AtomBinder.invokeItemsEvent(this, "refresh", -1, null);
131
- AtomBinder.refreshValue(this, "length");
132
- }
133
- watch(f, wrap) {
134
- if (wrap) {
135
- const fx = f;
136
- f = (function () {
137
- const p = [];
138
- for (let i = 0; i < arguments.length; i++) {
139
- const iterator = arguments[i];
140
- p.push(iterator);
141
- }
142
- return fx.call(this, p);
143
- });
144
- }
145
- return AtomBinder.add_CollectionChanged(this, f);
146
- }
147
- count(f) {
148
- let total = 0;
149
- for (const iterator of this) {
150
- if (f(iterator)) {
151
- total++;
152
- }
153
- }
154
- return total;
155
- }
156
- avg(f) {
157
- if (!this.length) {
158
- return 0;
159
- }
160
- let sum = 0;
161
- for (const iterator of this) {
162
- sum += f(iterator);
163
- }
164
- return sum / this.length;
165
- }
166
- includes(item) {
167
- return this.indexOf(item) !== -1;
168
- }
142
+ return fx.call(this, p);
143
+ };
144
+ }
145
+ return AtomBinder.add_CollectionChanged(this, f);
146
+ }
147
+ count(f) {
148
+ let total = 0;
149
+ for (const iterator of this) {
150
+ if (f(iterator)) {
151
+ total++;
152
+ }
153
+ }
154
+ return total;
155
+ }
156
+ avg(f) {
157
+ if (!this.length) {
158
+ return 0;
159
+ }
160
+ let sum = 0;
161
+ for (const iterator of this) {
162
+ sum += f(iterator);
163
+ }
164
+ return sum / this.length;
165
+ }
166
+ includes(item) {
167
+ return this.indexOf(item) !== -1;
168
+ }
169
169
  }
170
170
  const ap = Array.prototype;
171
171
  for (const key of Object.getOwnPropertyNames(AtomList.prototype)) {
172
- const { value } = Object.getOwnPropertyDescriptor(AtomList.prototype, key);
173
- switch (key) {
174
- case "add":
175
- case "addAll":
176
- case "clear":
177
- case "refresh":
178
- case "set":
179
- case "remove":
180
- case "removeAt":
181
- case "watch":
182
- case "replace":
183
- case "insert":
184
- case "count":
185
- case "avg":
186
- case "includes":
187
- if (key in ap) {
188
- continue;
189
- }
190
- Object.defineProperty(ap, key, {
191
- enumerable: false,
192
- value,
193
- configurable: true,
194
- writable: true
195
- });
196
- continue;
197
- }
198
- }
199
- //# sourceMappingURL=AtomList.js.map
172
+ const {
173
+ value
174
+ } = Object.getOwnPropertyDescriptor(AtomList.prototype, key);
175
+ switch (key) {
176
+ case "add":
177
+ case "addAll":
178
+ case "clear":
179
+ case "refresh":
180
+ case "set":
181
+ case "remove":
182
+ case "removeAt":
183
+ case "watch":
184
+ case "replace":
185
+ case "insert":
186
+ case "count":
187
+ case "avg":
188
+ case "includes":
189
+ if (key in ap) {
190
+ continue;
191
+ }
192
+ Object.defineProperty(ap, key, {
193
+ enumerable: false,
194
+ value,
195
+ configurable: true,
196
+ writable: true
197
+ });
198
+ continue;
199
+ }
200
+ }