neo.mjs 4.7.3 → 4.7.4

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.
@@ -32,6 +32,12 @@ class MainContainer extends ConfigurationViewport {
32
32
  labelText: 'clearToOriginalValue',
33
33
  listeners: {change: me.onConfigChange.bind(me, 'clearToOriginalValue')},
34
34
  style : {marginTop: '10px'}
35
+ }, {
36
+ module : CheckBox,
37
+ checked : me.exampleComponent.editable,
38
+ labelText: 'editable',
39
+ listeners: {change: me.onConfigChange.bind(me, 'editable')},
40
+ style : {marginTop: '10px'}
35
41
  }, {
36
42
  module : CheckBox,
37
43
  checked : me.exampleComponent.hideLabel,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "neo.mjs",
3
- "version": "4.7.3",
3
+ "version": "4.7.4",
4
4
  "description": "The webworkers driven UI framework",
5
5
  "type": "module",
6
6
  "repository": {
@@ -1,5 +1,5 @@
1
1
  .neo-split-button {
2
- border : v(button-border);
2
+ border : v(button-border-width) solid v(button-border-color);
3
3
  border-radius: v(button-border-radius);
4
4
  display : flex;
5
5
  width : fit-content;
@@ -10,7 +10,7 @@
10
10
  padding: .5em;
11
11
 
12
12
  &:last-child {
13
- border-left: v(button-border);
13
+ border-left: v(button-border-width) solid v(button-border-color);
14
14
  }
15
15
  }
16
- }
16
+ }
@@ -1,5 +1,13 @@
1
1
  .neo-pickerfield {
2
+ &.neo-not-editable {
3
+ cursor: pointer;
2
4
 
5
+ .neo-textfield-input {
6
+ cursor : pointer;
7
+ pointer-events: none;
8
+ user-select : none;
9
+ }
10
+ }
3
11
  }
4
12
 
5
13
  .neo-picker-container {
@@ -1,7 +1,7 @@
1
1
  $neoMap: map-merge($neoMap, (
2
2
  'checkboxfield-color' : #eee,
3
3
  'checkboxfield-color-checked' : #64B5F6,
4
- 'checkboxfield-icon-font-family': "Font Awesome 5 Free",
4
+ 'checkboxfield-icon-font-family': '"Font Awesome 5 Free"',
5
5
  'checkboxfield-icon-font-size' : 14px,
6
6
  'checkboxfield-label-top-margin': 0 0 3px
7
7
  ));
@@ -43,7 +43,11 @@ class Split extends Button {
43
43
  {cls: ['neo-split-button'], cn: [
44
44
  {tag: 'button', cn: [
45
45
  {tag: 'span', cls: ['neo-button-glyph']},
46
- {tag: 'span', cls: ['neo-button-text']}
46
+ {tag: 'span', cls: ['neo-button-text']},
47
+ {cls: ['neo-button-badge']},
48
+ {cls: ['neo-button-ripple-wrapper'], cn: [
49
+ {cls: ['neo-button-ripple']}
50
+ ]}
47
51
  ]}
48
52
  ]}
49
53
  }}
@@ -110,10 +114,8 @@ class Split extends Button {
110
114
  * @protected
111
115
  */
112
116
  afterSetTriggerButtonIconCls(value, oldValue) {
113
- let me = this;
114
-
115
- if (me.triggerButton) {
116
- me.triggerButton.iconCls = value;
117
+ if (this.triggerButton) {
118
+ this.triggerButton.iconCls = value;
117
119
  }
118
120
  }
119
121
 
@@ -1,4 +1,5 @@
1
1
  import Container from '../../container/Base.mjs';
2
+ import NeoArray from '../../util/Array.mjs';
2
3
  import PickerTrigger from './trigger/Picker.mjs';
3
4
  import Text from './Text.mjs';
4
5
  import VDomUtil from '../../util/VDom.mjs';
@@ -32,6 +33,10 @@ class Picker extends Text {
32
33
  * @protected
33
34
  */
34
35
  clientRects: null,
36
+ /**
37
+ * @member {Boolean} editable_=true
38
+ */
39
+ editable_: true,
35
40
  /**
36
41
  * Additional used keys for the selection model
37
42
  * @member {Object} keys
@@ -83,6 +88,19 @@ class Picker extends Text {
83
88
  }]
84
89
  }}
85
90
 
91
+ /**
92
+ * Triggered after the editable config got changed
93
+ * @param {Boolean} value
94
+ * @param {Boolean} oldValue
95
+ * @protected
96
+ */
97
+ afterSetEditable(value, oldValue) {
98
+ let cls = this.cls;
99
+
100
+ NeoArray.toggle(cls, 'neo-not-editable', !value);
101
+ this.cls = cls;
102
+ }
103
+
86
104
  /**
87
105
  * @param {Boolean} silent
88
106
  */
@@ -251,8 +251,15 @@ class DomEvents extends Base {
251
251
  * @returns {Object}
252
252
  */
253
253
  getEventData(event) {
254
+ let path = event.composedPath();
255
+
256
+ if (path.length < 1) {
257
+ // our draggable implementation will generate paths, so we do need to check for them
258
+ path = event.path;
259
+ }
260
+
254
261
  return {
255
- path : event.composedPath().map(e => this.getTargetData(e)),
262
+ path : path.map(e => this.getTargetData(e)),
256
263
  target : this.getTargetData(event.target),
257
264
  timeStamp: event.timeStamp,
258
265
  type : event.type