neo.mjs 4.4.19 → 4.6.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 (155) hide show
  1. package/apps/covid/view/AttributionComponent.mjs +2 -2
  2. package/apps/covid/view/GalleryContainer.mjs +2 -2
  3. package/apps/covid/view/HeaderContainer.mjs +2 -2
  4. package/apps/covid/view/HelixContainer.mjs +2 -2
  5. package/apps/covid/view/MainContainer.mjs +2 -2
  6. package/apps/covid/view/WorldMapComponent.mjs +5 -5
  7. package/apps/covid/view/country/Gallery.mjs +4 -4
  8. package/apps/covid/view/country/Helix.mjs +4 -4
  9. package/apps/covid/view/country/HistoricalDataTable.mjs +2 -2
  10. package/apps/covid/view/country/LineChartComponent.mjs +2 -2
  11. package/apps/covid/view/country/Table.mjs +4 -4
  12. package/apps/krausest/view/MainComponent.mjs +2 -2
  13. package/apps/krausest/view/TableComponent.mjs +2 -2
  14. package/apps/realworld/view/HeaderComponent.mjs +2 -2
  15. package/apps/realworld/view/HomeComponent.mjs +2 -2
  16. package/apps/realworld/view/MainContainer.mjs +2 -2
  17. package/apps/realworld/view/article/CommentComponent.mjs +4 -4
  18. package/apps/realworld/view/article/Component.mjs +4 -4
  19. package/apps/realworld/view/article/CreateCommentComponent.mjs +2 -2
  20. package/apps/realworld/view/article/CreateComponent.mjs +4 -4
  21. package/apps/realworld/view/article/PreviewComponent.mjs +2 -2
  22. package/apps/realworld/view/article/TagListComponent.mjs +2 -2
  23. package/apps/realworld/view/user/ProfileComponent.mjs +4 -4
  24. package/apps/realworld/view/user/SettingsComponent.mjs +4 -4
  25. package/apps/realworld/view/user/SignUpComponent.mjs +2 -2
  26. package/apps/realworld2/view/FooterComponent.mjs +2 -2
  27. package/apps/realworld2/view/HeaderToolbar.mjs +2 -2
  28. package/apps/realworld2/view/HomeContainer.mjs +2 -2
  29. package/apps/realworld2/view/MainContainer.mjs +2 -2
  30. package/apps/realworld2/view/article/Gallery.mjs +2 -2
  31. package/apps/realworld2/view/article/Helix.mjs +2 -2
  32. package/apps/realworld2/view/article/PreviewComponent.mjs +2 -2
  33. package/apps/realworld2/view/article/TagListComponent.mjs +2 -2
  34. package/apps/sharedcovid/view/AttributionComponent.mjs +2 -2
  35. package/apps/sharedcovid/view/GalleryContainer.mjs +2 -2
  36. package/apps/sharedcovid/view/HeaderContainer.mjs +2 -2
  37. package/apps/sharedcovid/view/HelixContainer.mjs +2 -2
  38. package/apps/sharedcovid/view/MainContainer.mjs +2 -2
  39. package/apps/sharedcovid/view/WorldMapComponent.mjs +5 -5
  40. package/apps/sharedcovid/view/country/Gallery.mjs +4 -4
  41. package/apps/sharedcovid/view/country/Helix.mjs +4 -4
  42. package/apps/sharedcovid/view/country/HistoricalDataTable.mjs +2 -2
  43. package/apps/sharedcovid/view/country/LineChartComponent.mjs +2 -2
  44. package/apps/sharedcovid/view/country/Table.mjs +4 -4
  45. package/apps/website/view/HeaderContainer.mjs +2 -2
  46. package/apps/website/view/MainContainer.mjs +2 -2
  47. package/apps/website/view/blog/Container.mjs +2 -2
  48. package/apps/website/view/blog/List.mjs +2 -2
  49. package/apps/website/view/examples/List.mjs +2 -2
  50. package/apps/website/view/home/DeveloperIntroComponent.mjs +2 -2
  51. package/apps/website/view/home/ExecutiveIntroComponent.mjs +2 -2
  52. package/apps/website/view/home/TabContainer.mjs +2 -2
  53. package/docs/app/view/ContentTabContainer.mjs +4 -12
  54. package/docs/app/view/ExamplesTreeList.mjs +2 -7
  55. package/docs/app/view/HeaderContainer.mjs +2 -2
  56. package/docs/app/view/MainContainer.mjs +2 -2
  57. package/docs/app/view/TutorialsTreeList.mjs +2 -7
  58. package/docs/app/view/classdetails/HeaderComponent.mjs +2 -2
  59. package/docs/app/view/classdetails/HierarchyTreeList.mjs +2 -2
  60. package/docs/app/view/classdetails/MainContainer.mjs +2 -2
  61. package/docs/app/view/classdetails/MembersList.mjs +2 -2
  62. package/docs/app/view/classdetails/TutorialComponent.mjs +2 -2
  63. package/examples/calendar/basic/MainContainerController.mjs +2 -2
  64. package/examples/component/coronaGallery/CountryGallery.mjs +2 -2
  65. package/examples/component/coronaGallery/MainContainer.mjs +2 -2
  66. package/examples/component/coronaHelix/CountryHelix.mjs +2 -2
  67. package/examples/component/coronaHelix/MainContainer.mjs +2 -2
  68. package/examples/component/wrapper/googleMaps/MarkerDialog.mjs +11 -18
  69. package/examples/dialog/MainContainer.mjs +2 -2
  70. package/examples/grid/covid/GridContainer.mjs +3 -3
  71. package/examples/list/animate/List.mjs +2 -2
  72. package/examples/table/covid/TableContainer.mjs +2 -2
  73. package/package.json +1 -1
  74. package/resources/scss/src/dialog/Toast.scss +164 -0
  75. package/resources/scss/src/form/field/Number.scss +2 -1
  76. package/src/button/Base.mjs +2 -2
  77. package/src/calendar/view/DayComponent.mjs +2 -2
  78. package/src/calendar/view/EditEventContainer.mjs +4 -4
  79. package/src/calendar/view/MainContainer.mjs +4 -4
  80. package/src/calendar/view/SettingsContainer.mjs +2 -2
  81. package/src/calendar/view/YearComponent.mjs +4 -4
  82. package/src/calendar/view/calendars/ColorsList.mjs +4 -4
  83. package/src/calendar/view/calendars/Container.mjs +5 -5
  84. package/src/calendar/view/calendars/EditContainer.mjs +3 -3
  85. package/src/calendar/view/calendars/List.mjs +5 -5
  86. package/src/calendar/view/month/Component.mjs +4 -4
  87. package/src/calendar/view/week/Component.mjs +4 -4
  88. package/src/calendar/view/week/TimeAxisComponent.mjs +4 -4
  89. package/src/component/Base.mjs +41 -2
  90. package/src/component/BoxLabel.mjs +2 -2
  91. package/src/component/Carousel.mjs +2 -2
  92. package/src/component/Chip.mjs +4 -4
  93. package/src/component/Circle.mjs +4 -4
  94. package/src/component/Clock.mjs +2 -2
  95. package/src/component/DateSelector.mjs +4 -4
  96. package/src/component/Gallery.mjs +2 -2
  97. package/src/component/Helix.mjs +4 -4
  98. package/src/component/Iframe.mjs +2 -2
  99. package/src/component/Label.mjs +2 -2
  100. package/src/component/Legend.mjs +2 -2
  101. package/src/component/Splitter.mjs +2 -2
  102. package/src/component/wrapper/AmChart.mjs +5 -5
  103. package/src/component/wrapper/MapboxGL.mjs +4 -4
  104. package/src/container/Base.mjs +2 -2
  105. package/src/container/Panel.mjs +2 -2
  106. package/src/container/Viewport.mjs +3 -3
  107. package/src/dialog/Base.mjs +5 -5
  108. package/src/dialog/Toast.mjs +190 -6
  109. package/src/filter/BooleanContainer.mjs +2 -2
  110. package/src/filter/NumberContainer.mjs +4 -4
  111. package/src/form/Container.mjs +2 -2
  112. package/src/form/Fieldset.mjs +2 -2
  113. package/src/form/field/CheckBox.mjs +4 -4
  114. package/src/form/field/Color.mjs +2 -2
  115. package/src/form/field/Date.mjs +3 -3
  116. package/src/form/field/Display.mjs +5 -5
  117. package/src/form/field/Number.mjs +3 -5
  118. package/src/form/field/Picker.mjs +4 -4
  119. package/src/form/field/Radio.mjs +2 -2
  120. package/src/form/field/Range.mjs +4 -4
  121. package/src/form/field/Search.mjs +2 -2
  122. package/src/form/field/Select.mjs +8 -3
  123. package/src/form/field/Text.mjs +9 -11
  124. package/src/form/field/TextArea.mjs +2 -2
  125. package/src/form/field/Time.mjs +2 -2
  126. package/src/form/field/trigger/Base.mjs +5 -3
  127. package/src/form/field/trigger/Clear.mjs +2 -2
  128. package/src/form/field/trigger/CopyToClipboard.mjs +3 -3
  129. package/src/form/field/trigger/SpinUpDown.mjs +2 -2
  130. package/src/form/field/trigger/Time.mjs +2 -2
  131. package/src/grid/Container.mjs +2 -2
  132. package/src/grid/View.mjs +2 -2
  133. package/src/grid/header/Button.mjs +2 -2
  134. package/src/grid/header/Toolbar.mjs +2 -2
  135. package/src/list/Base.mjs +2 -2
  136. package/src/list/Chip.mjs +2 -2
  137. package/src/list/Circle.mjs +2 -2
  138. package/src/list/Color.mjs +2 -2
  139. package/src/manager/Toast.mjs +173 -0
  140. package/src/menu/List.mjs +2 -2
  141. package/src/menu/Panel.mjs +2 -2
  142. package/src/sitemap/Component.mjs +2 -2
  143. package/src/tab/Container.mjs +11 -12
  144. package/src/tab/Strip.mjs +2 -2
  145. package/src/tab/header/Button.mjs +2 -2
  146. package/src/tab/header/Toolbar.mjs +2 -2
  147. package/src/table/Container.mjs +4 -4
  148. package/src/table/View.mjs +2 -2
  149. package/src/table/header/Button.mjs +2 -2
  150. package/src/table/header/Toolbar.mjs +2 -2
  151. package/src/toolbar/Base.mjs +2 -2
  152. package/src/toolbar/Paging.mjs +2 -2
  153. package/src/tooltip/Base.mjs +2 -2
  154. package/src/tree/List.mjs +2 -2
  155. package/src/manager/ToastDialog.mjs +0 -29
@@ -55,6 +55,10 @@ class Text extends Base {
55
55
  * @member {Boolean} autoComplete_=false
56
56
  */
57
57
  autoComplete_: false,
58
+ /**
59
+ * @member {String[]} baseCls=['neo-textfield']
60
+ */
61
+ baseCls: ['neo-textfield'],
58
62
  /**
59
63
  * Internal variable to store the actual width for the label centerBorderEl
60
64
  * (only needed for labelPosition: 'inline')
@@ -73,10 +77,6 @@ class Text extends Base {
73
77
  * @member {Boolean} clearToOriginalValue_=false
74
78
  */
75
79
  clearToOriginalValue_: false,
76
- /**
77
- * @member {String[]} cls=['neo-textfield']
78
- */
79
- cls: ['neo-textfield'],
80
80
  /**
81
81
  * @member {String|null} error_=null
82
82
  */
@@ -511,13 +511,11 @@ class Text extends Base {
511
511
  postTriggers = [],
512
512
  width;
513
513
 
514
- if (oldValue) {
515
- oldValue.forEach(item => {
516
- if (!me.getTrigger(item.type)) {
517
- item.destroy();
518
- }
519
- });
520
- }
514
+ oldValue?.forEach(item => {
515
+ if (!me.getTrigger(item.type)) {
516
+ item.destroy();
517
+ }
518
+ });
521
519
 
522
520
  if (value.length > 0) {
523
521
  value.forEach(item => {
@@ -29,9 +29,9 @@ class TextArea extends Text {
29
29
  */
30
30
  ntype: 'textarea',
31
31
  /**
32
- * @member {String[]} cls=['neo-textarea', 'neo-textfield']
32
+ * @member {String[]} baseCls=['neo-textarea','neo-textfield']
33
33
  */
34
- cls: ['neo-textarea', 'neo-textfield'],
34
+ baseCls: ['neo-textarea', 'neo-textfield'],
35
35
  /**
36
36
  * The visible width of the text control, in average character widths.
37
37
  * If it is specified, it must be a positive integer.
@@ -21,9 +21,9 @@ class Time extends Picker {
21
21
  */
22
22
  ntype: 'timefield',
23
23
  /**
24
- * @member {String[]} cls=['neo-timefield', 'neo-pickerfield', 'neo-textfield']
24
+ * @member {String[]} baseCls=['neo-timefield','neo-pickerfield','neo-textfield']
25
25
  */
26
- cls: ['neo-timefield', 'neo-pickerfield', 'neo-textfield'],
26
+ baseCls: ['neo-timefield', 'neo-pickerfield', 'neo-textfield'],
27
27
  /**
28
28
  * @member {Neo.collection.Base|null} collection=null
29
29
  */
@@ -33,9 +33,9 @@ class Base extends Component {
33
33
  */
34
34
  align_: 'end',
35
35
  /**
36
- * @member {String[]} cls=['neo-field-trigger']
36
+ * @member {String[]} baseCls=['neo-field-trigger']
37
37
  */
38
- cls: ['neo-field-trigger'],
38
+ baseCls: ['neo-field-trigger'],
39
39
  /**
40
40
  * @member {Neo.form.field.Base|null} field=null
41
41
  */
@@ -160,7 +160,9 @@ class Base extends Component {
160
160
  destroy(updateParentVdom, silent) {
161
161
  let me = this;
162
162
 
163
- me.removeDomListeners({click: {fn: me.onTriggerClick, scope: me}});
163
+ me.removeDomListeners(
164
+ {click: me.onTriggerClick, scope: me}
165
+ );
164
166
 
165
167
  delete me.field;
166
168
 
@@ -19,9 +19,9 @@ class Clear extends Base {
19
19
  */
20
20
  ntype: 'trigger-clear',
21
21
  /**
22
- * @member {String[]} cls=['neo-field-trigger', 'neo-trigger-clear']
22
+ * @member {String[]} baseCls=['neo-field-trigger','neo-trigger-clear']
23
23
  */
24
- cls: ['neo-field-trigger', 'neo-trigger-clear'],
24
+ baseCls: ['neo-field-trigger', 'neo-trigger-clear'],
25
25
  /**
26
26
  * @member {String|null} iconCls='fa fa-times'
27
27
  */
@@ -19,9 +19,9 @@ class CopyToClipboard extends Base {
19
19
  */
20
20
  ntype: 'trigger-copytoclipboard',
21
21
  /**
22
- * @member {String[]} cls=['neo-field-trigger', 'neo-trigger-clipboard']
22
+ * @member {String[]} baseCls=['neo-field-trigger','neo-trigger-clipboard']
23
23
  */
24
- cls: ['neo-field-trigger', 'neo-trigger-clipboard'],
24
+ baseCls: ['neo-field-trigger', 'neo-trigger-clipboard'],
25
25
  /**
26
26
  * @member {String|null} iconCls='fa fa-clipboard'
27
27
  */
@@ -32,7 +32,7 @@ class CopyToClipboard extends Base {
32
32
  showOnHover: true,
33
33
  /**
34
34
  * Internal flag used by field.getTrigger()
35
- * @member {String} type='copytoclipboard'
35
+ * @member {String} type='copyToClipboard'
36
36
  * @protected
37
37
  */
38
38
  type: 'copyToClipboard',
@@ -18,9 +18,9 @@ class SpinUpDown extends Base {
18
18
  */
19
19
  ntype: 'trigger-spinupdown',
20
20
  /**
21
- * @member {String[]} cls=['neo-field-trigger', 'neo-spin-buttons']
21
+ * @member {String[]} baseCls=['neo-field-trigger','neo-spin-buttons']
22
22
  */
23
- cls: ['neo-field-trigger', 'neo-spin-buttons'],
23
+ baseCls: ['neo-field-trigger', 'neo-spin-buttons'],
24
24
  /**
25
25
  * @member {String} spinButtonDownIconCls='fa fa-chevron-down'
26
26
  */
@@ -19,9 +19,9 @@ class Time extends Picker {
19
19
  */
20
20
  ntype: 'trigger-time',
21
21
  /**
22
- * @member {String[]} cls=['neo-timefield-trigger','neo-field-trigger']
22
+ * @member {String[]} baseCls=['neo-timefield-trigger','neo-field-trigger']
23
23
  */
24
- cls: ['neo-timefield-trigger', 'neo-field-trigger'],
24
+ baseCls: ['neo-timefield-trigger', 'neo-field-trigger'],
25
25
  /**
26
26
  * @member {Neo.component.Clock|null} clock=null
27
27
  * @protected
@@ -42,9 +42,9 @@ class Container extends BaseContainer {
42
42
  */
43
43
  ntype: 'grid-container',
44
44
  /**
45
- * @member {String[]} cls=['neo-grid-container']
45
+ * @member {String[]} baseCls=['neo-grid-container']
46
46
  */
47
- cls: ['neo-grid-container'],
47
+ baseCls: ['neo-grid-container'],
48
48
  /**
49
49
  * @member {Object[]} columns_=[]
50
50
  */
package/src/grid/View.mjs CHANGED
@@ -17,9 +17,9 @@ class View extends Component {
17
17
  */
18
18
  ntype: 'grid-view',
19
19
  /**
20
- * @member {Array} cls=['neo-grid-view']
20
+ * @member {String[]} baseCls=['neo-grid-view']
21
21
  */
22
- cls: ['neo-grid-view']
22
+ baseCls: ['neo-grid-view']
23
23
  }}
24
24
 
25
25
  /**
@@ -43,9 +43,9 @@ class Button extends BaseButton {
43
43
  */
44
44
  align_: 'left',
45
45
  /**
46
- * @member {String[]} cls=['neo-grid-header-button']
46
+ * @member {String[]} baseCls=['neo-grid-header-button']
47
47
  */
48
- cls: ['neo-grid-header-button'],
48
+ baseCls: ['neo-grid-header-button'],
49
49
  /**
50
50
  * @member {String} iconCls='fa fa-arrow-circle-up'
51
51
  */
@@ -17,9 +17,9 @@ class Toolbar extends BaseToolbar {
17
17
  */
18
18
  ntype: 'grid-header-toolbar',
19
19
  /**
20
- * @member {Array} cls=['neo-grid-header-toolbar','neo-toolbar']
20
+ * @member {String[]} baseCls=['neo-grid-header-toolbar','neo-toolbar']
21
21
  */
22
- cls: ['neo-grid-header-toolbar', 'neo-toolbar'],
22
+ baseCls: ['neo-grid-header-toolbar', 'neo-toolbar'],
23
23
  /**
24
24
  * @member {Object} itemDefaults={ntype:'grid-header-button'}
25
25
  * @protected
package/src/list/Base.mjs CHANGED
@@ -34,9 +34,9 @@ class Base extends Component {
34
34
  */
35
35
  autoDestroyStore: true,
36
36
  /**
37
- * @member {String[]} cls=['neo-list']
37
+ * @member {String[]} baseCls=['neo-list']
38
38
  */
39
- cls: ['neo-list'],
39
+ baseCls: ['neo-list'],
40
40
  /**
41
41
  * @member {Boolean} disableSelection_=false
42
42
  */
package/src/list/Chip.mjs CHANGED
@@ -18,9 +18,9 @@ class Chip extends ComponentList {
18
18
  */
19
19
  ntype: 'chip-list',
20
20
  /**
21
- * @member {String[]} cls=['neo-chip-list','neo-list']
21
+ * @member {String[]} baseCls=['neo-chip-list','neo-list']
22
22
  */
23
- cls: ['neo-chip-list', 'neo-list'],
23
+ baseCls: ['neo-chip-list', 'neo-list'],
24
24
  /**
25
25
  * @member {Object} itemDefaults
26
26
  */
@@ -18,9 +18,9 @@ class Circle extends Component {
18
18
  */
19
19
  ntype: 'circle-list',
20
20
  /**
21
- * @member {String[]} cls=['neo-circle-list','neo-list']
21
+ * @member {String[]} baseCls=['neo-circle-list','neo-list']
22
22
  */
23
- cls: ['neo-circle-list', 'neo-list'],
23
+ baseCls: ['neo-circle-list', 'neo-list'],
24
24
  /**
25
25
  * @member {Object} itemDefaults
26
26
  */
@@ -24,9 +24,9 @@ class Color extends Base {
24
24
  */
25
25
  ntype: 'colorlist',
26
26
  /**
27
- * @member {String[]} cls=['neo-color-list','neo-list']
27
+ * @member {String[]} baseCls=['neo-color-list','neo-list']
28
28
  */
29
- cls: ['neo-color-list', 'neo-list'],
29
+ baseCls: ['neo-color-list', 'neo-list'],
30
30
  /**
31
31
  * The data.Model field which contains the color value
32
32
  * @member {String} colorField='name'
@@ -0,0 +1,173 @@
1
+ import Base from './Base.mjs';
2
+
3
+ /**
4
+ * See Neo.dialog.Toast for examples
5
+ * @class Neo.manager.Toast
6
+ * @extends Neo.manager.Base
7
+ * @singleton
8
+ */
9
+ class Toast extends Base {
10
+ /**
11
+ * This is the default config for the Neo.dialog.Toast
12
+ * @member {Object}
13
+ */
14
+ defaultToastConfig = {
15
+ closable : false,
16
+ cls : ['neo-toast'],
17
+ maxWidth : 250,
18
+ position : 'tr',
19
+ running : false,
20
+ slideDirection: 'down',
21
+ timeout : 3000,
22
+ title : null
23
+ }
24
+ /**
25
+ * Currently only 1 is supported, because they would overlap
26
+ * @member {1} maxToasts=1
27
+ */
28
+ maxToasts = 1
29
+ /**
30
+ * Counts the currently running Toasts per area
31
+ * @member {Object} running
32
+ */
33
+ running = {
34
+ bc: 0, bl: 0, br: 0,
35
+ tc: 0, tl: 0, tr: 0
36
+ }
37
+ /**
38
+ * If you prefer your own class to open, override here
39
+ * @member {String} toastClass='Neo.dialog.Toast'
40
+ */
41
+ toastClass = 'Neo.dialog.Toast'
42
+
43
+ static getConfig() {return {
44
+ /**
45
+ * @member {String} className='Neo.manager.Toast'
46
+ * @protected
47
+ */
48
+ className: 'Neo.manager.Toast',
49
+ /**
50
+ * @member {Boolean} singleton=true
51
+ * @protected
52
+ */
53
+ singleton: true
54
+ }}
55
+
56
+ construct(config) {
57
+ super.construct(config);
58
+ Neo.toast = this.createToast.bind(this);
59
+ }
60
+
61
+ /**
62
+ * @param {Object} item
63
+ */
64
+ register(item) {
65
+ super.register(item);
66
+ this.runQueue();
67
+ }
68
+
69
+ /**
70
+ * Removes a collection item passed by reference or key
71
+ * @param {Object|String} item
72
+ */
73
+ unregister(item) {
74
+ super.unregister(item);
75
+ this.runQueue();
76
+ }
77
+
78
+ /**
79
+ * Create the Toast definition and pass it to the Collection
80
+ *
81
+ * @param {Object} toast
82
+ * @returns {Object}
83
+ */
84
+ createToast(toast) {
85
+ let me = this,
86
+ id;
87
+
88
+ if (!toast.msg || !toast.appName) {
89
+ !toast.msg && Neo.logError('[Neo.manager.Toast] Toast has to define a msg');
90
+ !toast.appName && Neo.logError('[Neo.manager.Toast] Toast has to define an appName. Typically me.appName.');
91
+ return null;
92
+ }
93
+
94
+ id = Neo.core.IdGenerator.getId('toastmanager-toast');
95
+
96
+ toast = {
97
+ id,
98
+ toastManagerId: id,
99
+ ...me.defaultToastConfig,
100
+ ...toast
101
+ };
102
+
103
+ me.register(toast);
104
+
105
+ return toast.toastManagerId;
106
+ }
107
+
108
+ /**
109
+ * Removes a task from collection.
110
+ * @param {String} toastId
111
+ */
112
+ removeToast(toastId) {
113
+ let me = this;
114
+
115
+ // decrease total of displayed toasts for a position
116
+ me.running[me.map.get(toastId).position]--;
117
+ me.unregister(toastId);
118
+ }
119
+
120
+ /**
121
+ * Runs a ToastManager to show an item from collection.
122
+ */
123
+ runQueue() {
124
+ let me = this,
125
+ toast;
126
+
127
+ if (me.getCount > 0) {
128
+ toast = me.findFirstToast();
129
+
130
+ toast && me.showToast(toast)
131
+ }
132
+ }
133
+
134
+ showToast(toast) {
135
+ let toastConfig = Neo.clone(toast);
136
+ // increase total of displayed toasts for a position
137
+ this.running[toastConfig.position]++
138
+ // Neo.create does not allow to pass an id
139
+ delete toastConfig.id;
140
+ Neo.create(this.toastClass, toastConfig);
141
+ }
142
+
143
+ /**
144
+ * Find the first toast based on the maximum allowed toasts
145
+ * @returns {*}
146
+ */
147
+ findFirstToast() {
148
+ let me = this,
149
+ firstToast, item;
150
+
151
+ me.filters = [{property: 'running', value: false}];
152
+ me.filter();
153
+
154
+ for (item of me.map.values()) {
155
+ if (me.running[item.position] < me.maxToasts) {
156
+ firstToast = item;
157
+ break;
158
+ }
159
+ }
160
+
161
+ me.clearFilters();
162
+
163
+ return firstToast;
164
+ }
165
+ }
166
+
167
+ Neo.applyClassConfig(Toast);
168
+
169
+ let instance = Neo.create(Toast);
170
+
171
+ Neo.applyToGlobalNs(instance);
172
+
173
+ export default instance;
package/src/menu/List.mjs CHANGED
@@ -25,9 +25,9 @@ class List extends BaseList {
25
25
  */
26
26
  activeSubMenu: null,
27
27
  /**
28
- * @member {String[]} cls=['neo-menu-list','neo-list']
28
+ * @member {String[]} baseCls=['neo-menu-list','neo-list']
29
29
  */
30
- cls: ['neo-menu-list', 'neo-list'],
30
+ baseCls: ['neo-menu-list', 'neo-list'],
31
31
  /**
32
32
  * True will add 'neo-floating' to the instance cls list.
33
33
  * @member {Boolean} floating_=false
@@ -19,9 +19,9 @@ class Panel extends BasePanel {
19
19
  */
20
20
  ntype: 'menu',
21
21
  /**
22
- * @member {String[]} cls=['neo-menu','neo-panel','neo-container']
22
+ * @member {String[]} baseCls=['neo-menu','neo-panel','neo-container']
23
23
  */
24
- cls: ['neo-menu', 'neo-panel', 'neo-container'],
24
+ baseCls: ['neo-menu', 'neo-panel', 'neo-container'],
25
25
  /**
26
26
  * @member {Neo.menu.List} list_=List
27
27
  * @protected
@@ -29,9 +29,9 @@ class Component extends Base {
29
29
  */
30
30
  ntype: 'sitemap',
31
31
  /*
32
- * @member {String[} cls=['neo-sitemap']
32
+ * @member {String[} baseCls=['neo-sitemap']
33
33
  */
34
- cls: ['neo-sitemap'],
34
+ baseCls: ['neo-sitemap'],
35
35
  /**
36
36
  * Valid values: removeDom, visibility
37
37
  * Defines if the component items should use css visibility:'hidden' or vdom:removeDom
@@ -41,19 +41,14 @@ class Container extends BaseContainer {
41
41
  */
42
42
  activateInsertedTabs: false,
43
43
  /**
44
- * @member {String} baseCls='neo-tab-container'
44
+ * @member {String[]} baseCls=['neo-tab-container'],
45
+ * @protected
45
46
  */
46
- baseCls: 'neo-tab-container',
47
+ baseCls: ['neo-tab-container'],
47
48
  /**
48
49
  * @member {String|null} cardContainerId=null
49
50
  */
50
51
  cardContainerId: null,
51
- /**
52
- * adds baseCls + '-plain' is case plain is set to true
53
- * @member {String[]} cls=['neo-tab-container'],
54
- * @protected
55
- */
56
- cls: ['neo-tab-container'],
57
52
  /**
58
53
  * Default configs for the tab.Strip
59
54
  * @member {Object|null} contentContainerDefaults=null
@@ -100,6 +95,11 @@ class Container extends BaseContainer {
100
95
  * @member {String} tabBarPosition_='top'
101
96
  */
102
97
  tabBarPosition_: 'top',
98
+ /**
99
+ * adds tabContainerCls + '-plain' is case plain is set to true
100
+ * @member {String} tabContainerCls='neo-tab-container'
101
+ */
102
+ tabContainerCls: 'neo-tab-container',
103
103
  /**
104
104
  * @member {Boolean} useActiveTabIndicator_=true
105
105
  */
@@ -155,11 +155,10 @@ class Container extends BaseContainer {
155
155
  * @protected
156
156
  */
157
157
  afterSetPlain(value, oldValue) {
158
- let me = this,
159
- baseCls = me.baseCls,
160
- cls = me.cls;
158
+ let me = this,
159
+ cls = me.cls;
161
160
 
162
- NeoArray[value ? 'unshift' : 'remove'](cls, baseCls + '-plain');
161
+ NeoArray[value ? 'unshift' : 'remove'](cls, me.tabContainerCls + '-plain');
163
162
  me.cls = cls;
164
163
  }
165
164
 
package/src/tab/Strip.mjs CHANGED
@@ -17,9 +17,9 @@ class Strip extends Component {
17
17
  */
18
18
  ntype: 'tab-strip',
19
19
  /**
20
- * @member {Array} cls=['neo-tab-strip']
20
+ * @member {String[]} baseCls=['neo-tab-strip']
21
21
  */
22
- cls: ['neo-tab-strip'],
22
+ baseCls: ['neo-tab-strip'],
23
23
  /**
24
24
  * @member {String|null} tabContainerId=null
25
25
  */
@@ -17,9 +17,9 @@ class Button extends BaseButton {
17
17
  */
18
18
  ntype: 'tab-header-button',
19
19
  /**
20
- * @member {Array} cls=['neo-button','neo-tab-button']
20
+ * @member {String[]} baseCls=['neo-button','neo-tab-button']
21
21
  */
22
- cls: ['neo-tab-header-button', 'neo-button'],
22
+ baseCls: ['neo-tab-header-button', 'neo-button'],
23
23
  /**
24
24
  * @member {Boolean} useActiveTabIndicator_=true
25
25
  */
@@ -17,9 +17,9 @@ class Toolbar extends BaseToolbar {
17
17
  */
18
18
  ntype: 'tab-header-toolbar',
19
19
  /**
20
- * @member {Array} cls=['neo-tab-header-toolbar','neo-toolbar']
20
+ * @member {String[]} baseCls=['neo-tab-header-toolbar','neo-toolbar']
21
21
  */
22
- cls: ['neo-tab-header-toolbar', 'neo-toolbar'],
22
+ baseCls: ['neo-tab-header-toolbar', 'neo-toolbar'],
23
23
  /**
24
24
  * @member {Boolean} useActiveTabIndicator_=true
25
25
  */
@@ -28,6 +28,10 @@ class Container extends BaseContainer {
28
28
  * @member {Number} amountRows=20
29
29
  */
30
30
  amountRows: 20,
31
+ /**
32
+ * @member {String[]} baseCls=['neo-table-container']
33
+ */
34
+ baseCls: ['neo-table-container'],
31
35
  /**
32
36
  * Default configs for each column
33
37
  * @member {Object} columnDefaults=null
@@ -38,10 +42,6 @@ class Container extends BaseContainer {
38
42
  * @member {Boolean} createRandomData=false
39
43
  */
40
44
  createRandomData: false,
41
- /**
42
- * @member {String[]} cls=['neo-table-container']
43
- */
44
- cls: ['neo-table-container'],
45
45
  /**
46
46
  * @member {Object[]} columns_=[]
47
47
  */
@@ -17,9 +17,9 @@ class View extends Component {
17
17
  */
18
18
  ntype: 'table-view',
19
19
  /**
20
- * @member {Array} cls=['neo-table-view']
20
+ * @member {String[]} baseCls=['neo-table-view']
21
21
  */
22
- cls: ['neo-table-view'],
22
+ baseCls: ['neo-table-view'],
23
23
  /**
24
24
  * @member {String|null} containerId=null
25
25
  * @protected
@@ -34,9 +34,9 @@ class Button extends BaseButton {
34
34
  */
35
35
  align_: 'left',
36
36
  /**
37
- * @member {Array} cls=['neo-table-header-button']
37
+ * @member {String[]} baseCls=['neo-table-header-button']
38
38
  */
39
- cls: ['neo-table-header-button'],
39
+ baseCls: ['neo-table-header-button'],
40
40
  /**
41
41
  * @member {String|null} dataField=null
42
42
  */
@@ -17,9 +17,9 @@ class Toolbar extends BaseToolbar {
17
17
  */
18
18
  ntype: 'table-header-toolbar',
19
19
  /**
20
- * @member {Array} cls=['table-header-toolbar']
20
+ * @member {String[]} baseCls=['table-header-toolbar']
21
21
  */
22
- cls: ['table-header-toolbar'],
22
+ baseCls: ['table-header-toolbar'],
23
23
  /**
24
24
  * @member {String} layout='base'
25
25
  */
@@ -30,9 +30,9 @@ class Base extends Container {
30
30
  */
31
31
  ntype: 'toolbar',
32
32
  /**
33
- * @member {String[]} cls=['neo-toolbar']
33
+ * @member {String[]} baseCls=['neo-toolbar']
34
34
  */
35
- cls: ['neo-toolbar'],
35
+ baseCls: ['neo-toolbar'],
36
36
  /**
37
37
  * @member {String} dock_='top'
38
38
  */
@@ -19,9 +19,9 @@ class Paging extends Toolbar {
19
19
  */
20
20
  ntype: 'paging-toolbar',
21
21
  /**
22
- * @member {String[]} cls=['neo-paging-toolbar','neo-toolbar']
22
+ * @member {String[]} baseCls=['neo-paging-toolbar','neo-toolbar']
23
23
  */
24
- cls: ['neo-paging-toolbar', 'neo-toolbar'],
24
+ baseCls: ['neo-paging-toolbar', 'neo-toolbar'],
25
25
  /**
26
26
  * @member {Number} currentPage_=1
27
27
  */
@@ -19,9 +19,9 @@ class Base extends Container {
19
19
  */
20
20
  ntype: 'tooltip',
21
21
  /**
22
- * @member {String[]} cls=['neo-tooltip']
22
+ * @member {String[]} baseCls=['neo-tooltip']
23
23
  */
24
- cls: ['neo-tooltip'],
24
+ baseCls: ['neo-tooltip'],
25
25
  /**
26
26
  * A reference to the target component which is supposed to show this tooltip on mouseenter
27
27
  * @member {String|null} componentId_=null