neo.mjs 5.1.3 → 5.1.5

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.
@@ -20,9 +20,9 @@ class ServiceWorker extends ServiceBase {
20
20
  */
21
21
  singleton: true,
22
22
  /**
23
- * @member {String} version='5.1.3'
23
+ * @member {String} version='5.1.5'
24
24
  */
25
- version: '5.1.3'
25
+ version: '5.1.5'
26
26
  }
27
27
 
28
28
  /**
@@ -4,7 +4,7 @@
4
4
  "authorImage" : "author_TorstenDinkheller.jpg",
5
5
  "date" : "Feb 03, 2023",
6
6
  "id" : 57,
7
- "image" : "leveraging-overrides.jpg",
7
+ "image" : "overrides-medium.jpg",
8
8
  "name" : "Leveraging Overrides for Resilient Customizations and Effective Bugfixes in JavaScript Frameworks",
9
9
  "provider" : "Medium",
10
10
  "publisher" : "ITNEXT",
@@ -20,9 +20,9 @@ class ServiceWorker extends ServiceBase {
20
20
  */
21
21
  singleton: true,
22
22
  /**
23
- * @member {String} version='5.1.3'
23
+ * @member {String} version='5.1.5'
24
24
  */
25
- version: '5.1.3'
25
+ version: '5.1.5'
26
26
  }
27
27
 
28
28
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "neo.mjs",
3
- "version": "5.1.3",
3
+ "version": "5.1.5",
4
4
  "description": "The webworkers driven UI framework",
5
5
  "type": "module",
6
6
  "repository": {
@@ -258,7 +258,7 @@
258
258
  }
259
259
 
260
260
  &.pressed {
261
- border-color: v(button-pressed-border-color);
261
+ border-color: v(button-border-color-pressed);
262
262
  }
263
263
  }
264
264
 
@@ -10,6 +10,10 @@
10
10
  .neo-input-wrapper {
11
11
  border-color: v(textfield-border-color-active) !important;
12
12
  outline : v(textfield-outline-active);
13
+
14
+ .neo-textfield-input {
15
+ outline: none;
16
+ }
13
17
  }
14
18
 
15
19
  .neo-label-wrapper { // labelPosition: inline
@@ -296,7 +300,7 @@
296
300
  border : v(textfield-border-width) solid v(textfield-border-color);
297
301
  border-radius : v(textfield-border-radius);
298
302
  display : flex;
299
- flex : 1 1 100px;
303
+ flex : 1 1 1px;
300
304
  min-height : v(textfield-input-height);
301
305
  outline : 0 solid v(textfield-outline-active);
302
306
  overflow : hidden;
@@ -14,6 +14,7 @@ $neoMap: map-merge($neoMap, (
14
14
  'button-border-color-active' : #282828,
15
15
  'button-border-color-disabled' : #2b2b2b,
16
16
  'button-border-color-hover' : #292929,
17
+ 'button-border-color-pressed' : #5d83a7,
17
18
  'button-border-radius' : 0,
18
19
  'button-border-width' : 1px,
19
20
  'button-glyph-color' : #bbb,
@@ -25,7 +26,6 @@ $neoMap: map-merge($neoMap, (
25
26
  'button-opacity-disabled' : #{neo(neo-disabled-opacity)},
26
27
  'button-outline-active' : none,
27
28
  'button-padding' : 5px 12px 5px 12px,
28
- 'button-pressed-border-color' : #5d83a7,
29
29
  'button-ripple-background-color' : darken(#5d83a7, 10%),
30
30
  'button-text-color' : #bbb,
31
31
  'button-text-color-active' : #bbb,
@@ -104,6 +104,7 @@ $neoMap: map-merge($neoMap, (
104
104
  --button-border-color-active : #{neo(button-border-color-active)};
105
105
  --button-border-color-disabled : #{neo(button-border-color-disabled)};
106
106
  --button-border-color-hover : #{neo(button-border-color-hover)};
107
+ --button-border-color-pressed : #{neo(button-border-color-pressed)};
107
108
  --button-border-radius : #{neo(button-border-radius)};
108
109
  --button-border-width : #{neo(button-border-width)};
109
110
  --button-glyph-color : #{neo(button-glyph-color)};
@@ -115,7 +116,6 @@ $neoMap: map-merge($neoMap, (
115
116
  --button-opacity-disabled : #{neo(button-opacity-disabled)};
116
117
  --button-outline-active : #{neo(button-outline-active)};
117
118
  --button-padding : #{neo(button-padding)};
118
- --button-pressed-border-color : #{neo(button-pressed-border-color)};
119
119
  --button-ripple-background-color : #{neo(button-ripple-background-color)};
120
120
  --button-text-color : #{neo(button-text-color)};
121
121
  --button-text-color-active : #{neo(button-text-color-active)};
@@ -14,6 +14,7 @@ $neoMap: map-merge($neoMap, (
14
14
  'button-border-color-active' : #1c60a0,
15
15
  'button-border-color-disabled' : #ddd,
16
16
  'button-border-color-hover' : #1c60a0,
17
+ 'button-border-color-pressed' : #1c60a0,
17
18
  'button-border-radius' : 3px,
18
19
  'button-border-width' : 1px,
19
20
  'button-glyph-color' : #1c60a0,
@@ -25,7 +26,6 @@ $neoMap: map-merge($neoMap, (
25
26
  'button-opacity-disabled' : #{neo(neo-disabled-opacity)},
26
27
  'button-outline-active' : none,
27
28
  'button-padding' : 5px 12px 5px 12px,
28
- 'button-pressed-border-color' : #1c60a0,
29
29
  'button-ripple-background-color' : lighten(#1c60a0, 50%),
30
30
  'button-text-color' : #1c60a0,
31
31
  'button-text-color-active' : #1c60a0,
@@ -104,6 +104,7 @@ $neoMap: map-merge($neoMap, (
104
104
  --button-border-color-active : #{neo(button-border-color-active)};
105
105
  --button-border-color-disabled : #{neo(button-border-color-disabled)};
106
106
  --button-border-color-hover : #{neo(button-border-color-hover)};
107
+ --button-border-color-pressed : #{neo(button-border-color-pressed)};
107
108
  --button-border-radius : #{neo(button-border-radius)};
108
109
  --button-border-width : #{neo(button-border-width)};
109
110
  --button-glyph-color : #{neo(button-glyph-color)};
@@ -115,7 +116,6 @@ $neoMap: map-merge($neoMap, (
115
116
  --button-opacity-disabled : #{neo(button-opacity-disabled)};
116
117
  --button-outline-active : #{neo(button-outline-active)};
117
118
  --button-padding : #{neo(button-padding)};
118
- --button-pressed-border-color : #{neo(button-pressed-border-color)};
119
119
  --button-ripple-background-color : #{neo(button-ripple-background-color)};
120
120
  --button-text-color : #{neo(button-text-color)};
121
121
  --button-text-color-active : #{neo(button-text-color-active)};
@@ -237,12 +237,12 @@ const DefaultConfig = {
237
237
  useVdomWorker: true,
238
238
  /**
239
239
  * buildScripts/injectPackageVersion.mjs will update this value
240
- * @default '5.1.3'
240
+ * @default '5.1.5'
241
241
  * @memberOf! module:Neo
242
242
  * @name config.version
243
243
  * @type String
244
244
  */
245
- version: '5.1.3'
245
+ version: '5.1.5'
246
246
  };
247
247
 
248
248
  Object.assign(DefaultConfig, {
@@ -36,12 +36,12 @@ class Container extends BaseContainer {
36
36
  * @returns {Neo.form.field.Base|null} fields
37
37
  */
38
38
  getField(name) {
39
- let fields = ComponentManager.getChildren(this),
39
+ let fields = ComponentManager.getChildComponents(this),
40
40
  field;
41
41
 
42
42
  for (field of fields) {
43
43
  if (field instanceof BaseField) {
44
- if (field.id === name || field.name === name) {
44
+ if (field.name === name || field.id === name) {
45
45
  return field;
46
46
  }
47
47
  }
@@ -56,7 +56,7 @@ class Container extends BaseContainer {
56
56
  getFields() {
57
57
  let fields = [];
58
58
 
59
- ComponentManager.getChildren(this).forEach(item => {
59
+ ComponentManager.getChildComponents(this).forEach(item => {
60
60
  item instanceof BaseField && fields.push(item);
61
61
  });
62
62
 
@@ -116,6 +116,28 @@ class Component extends Base {
116
116
  return null;
117
117
  }
118
118
 
119
+ /**
120
+ * Returns all child components which are recursively matched via their parentId
121
+ * @param {Neo.component.Base} component
122
+ * @returns {Neo.component.Base[]} childComponents
123
+ */
124
+ getChildComponents(component) {
125
+ let me = this,
126
+ directChildren = me.find('parentId', component.id) || [],
127
+ components = [],
128
+ childComponents;
129
+
130
+ directChildren.forEach(item => {
131
+ components.push(item);
132
+
133
+ childComponents = me.getChildComponents(item);
134
+
135
+ childComponents && components.push(...childComponents);
136
+ });
137
+
138
+ return components;
139
+ }
140
+
119
141
  /**
120
142
  * todo: replace all calls of this method to calls using the util.VNode class
121
143
  * Get the ids of all child nodes of the given vnode