neo.mjs 6.21.0 → 6.22.1

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 (154) hide show
  1. package/apps/ServiceWorker.mjs +2 -2
  2. package/apps/colors/view/HeaderToolbar.mjs +7 -3
  3. package/apps/covid/view/MainContainerController.mjs +6 -6
  4. package/apps/covid/view/TableContainer.mjs +5 -3
  5. package/apps/covid/view/country/Gallery.mjs +6 -4
  6. package/apps/form/view/ViewportModel.mjs +2 -2
  7. package/apps/portal/index.html +23 -1
  8. package/apps/portal/view/HeaderToolbar.mjs +2 -2
  9. package/apps/portal/view/Viewport.mjs +3 -1
  10. package/apps/portal/view/ViewportController.mjs +33 -10
  11. package/apps/portal/view/about/Container.mjs +52 -0
  12. package/apps/portal/view/about/MemberContainer.mjs +191 -0
  13. package/apps/portal/view/blog/Container.mjs +14 -1
  14. package/apps/portal/view/home/MainContainer.mjs +15 -3
  15. package/apps/portal/view/home/parts/AfterMath.mjs +12 -8
  16. package/apps/portal/view/home/parts/Colors.mjs +8 -2
  17. package/apps/portal/view/home/parts/Features.mjs +50 -83
  18. package/apps/portal/view/home/parts/Helix.mjs +8 -2
  19. package/apps/portal/view/home/parts/MainNeo.mjs +17 -5
  20. package/apps/portal/view/learn/ContentView.mjs +18 -4
  21. package/apps/portal/view/learn/PageContainer.mjs +13 -0
  22. package/apps/portal/view/services/Component.mjs +13 -0
  23. package/apps/realworld/api/Base.mjs +5 -5
  24. package/apps/realworld/view/MainContainerController.mjs +19 -17
  25. package/apps/realworld2/api/Base.mjs +5 -5
  26. package/apps/realworld2/view/MainContainerController.mjs +11 -11
  27. package/apps/realworld2/view/article/Gallery.mjs +6 -4
  28. package/apps/sharedcovid/view/MainContainerController.mjs +11 -12
  29. package/apps/sharedcovid/view/TableContainer.mjs +7 -5
  30. package/apps/sharedcovid/view/country/Gallery.mjs +6 -4
  31. package/apps/shareddialog/view/MainContainerController.mjs +5 -5
  32. package/buildScripts/webpack/json/myApps.template.json +1 -2
  33. package/docs/app/view/classdetails/MembersList.mjs +8 -8
  34. package/docs/app/view/classdetails/SourceViewComponent.mjs +6 -6
  35. package/docs/app/view/classdetails/TutorialComponent.mjs +9 -9
  36. package/examples/ServiceWorker.mjs +2 -2
  37. package/examples/component/coronaGallery/CountryGallery.mjs +6 -4
  38. package/examples/component/helix/Viewport.mjs +2 -2
  39. package/examples/list/circle/MainContainer.mjs +7 -7
  40. package/examples/preloadingAssets/view/MainContainerController.mjs +5 -5
  41. package/package.json +5 -5
  42. package/resources/data/deck/learnneo/pages/GuideEvents.md +2 -4
  43. package/resources/data/deck/learnneo/pages/WhyNeo-Features.md +46 -0
  44. package/resources/data/deck/learnneo/pages/WhyNeo-Intro.md +5 -6
  45. package/resources/data/deck/learnneo/pages/WhyNeo-Multi-Window.md +1 -1
  46. package/resources/data/deck/learnneo/tree.json +3 -2
  47. package/resources/fonts/GT-Planar-Regular.otf +0 -0
  48. package/resources/images/logo/neo_logo_favicon.svg +16 -0
  49. package/resources/images/team/tobiu.png +0 -0
  50. package/resources/images/team/torsten.png +0 -0
  51. package/resources/scss/src/apps/colors/HeaderToolbar.scss +23 -1
  52. package/resources/scss/src/apps/colors/Viewport.scss +10 -0
  53. package/resources/scss/src/apps/portal/HeaderToolbar.scss +7 -7
  54. package/resources/scss/src/apps/portal/Viewport.scss +10 -0
  55. package/resources/scss/src/apps/portal/about/Container.scss +4 -0
  56. package/resources/scss/src/apps/portal/about/MemberContainer.scss +70 -0
  57. package/resources/scss/src/apps/portal/home/FooterContainer.scss +12 -0
  58. package/resources/scss/src/apps/portal/home/parts/BaseContainer.scss +16 -16
  59. package/resources/scss/src/apps/portal/home/parts/MainNeo.scss +62 -7
  60. package/resources/scss/src/apps/portal/learn/ContentView.scss +1 -0
  61. package/resources/scss/src/apps/portal/learn/PageContainer.scss +6 -0
  62. package/resources/scss/src/layout/Cube.scss +3 -3
  63. package/resources/scss/src/plugin/Resizable.scss +12 -19
  64. package/resources/scss/theme-neo-light/dialog/Base.scss +12 -2
  65. package/src/DefaultConfig.mjs +2 -2
  66. package/src/calendar/view/MainContainer.mjs +10 -10
  67. package/src/calendar/view/SettingsContainer.mjs +10 -10
  68. package/src/calendar/view/YearComponent.mjs +2 -2
  69. package/src/calendar/view/calendars/List.mjs +2 -2
  70. package/src/calendar/view/month/Component.mjs +4 -4
  71. package/src/calendar/view/week/Component.mjs +2 -2
  72. package/src/calendar/view/week/plugin/DragDrop.mjs +4 -4
  73. package/src/code/LivePreview.mjs +6 -15
  74. package/src/component/Base.mjs +3 -3
  75. package/src/component/Circle.mjs +5 -5
  76. package/src/component/DateSelector.mjs +4 -4
  77. package/src/component/Gallery.mjs +8 -8
  78. package/src/component/Helix.mjs +12 -12
  79. package/src/component/Toast.mjs +1 -1
  80. package/src/component/wrapper/AmChart.mjs +2 -2
  81. package/src/component/wrapper/CesiumJS.mjs +2 -2
  82. package/src/component/wrapper/GoogleMaps.mjs +2 -2
  83. package/src/component/wrapper/MonacoEditor.mjs +3 -3
  84. package/src/core/Observable.mjs +2 -2
  85. package/src/data/Store.mjs +2 -2
  86. package/src/dialog/Base.mjs +44 -14
  87. package/src/draggable/DragZone.mjs +4 -4
  88. package/src/draggable/list/DragZone.mjs +4 -4
  89. package/src/draggable/tab/header/toolbar/SortZone.mjs +2 -2
  90. package/src/draggable/toolbar/DragZone.mjs +4 -4
  91. package/src/draggable/toolbar/SortZone.mjs +3 -3
  92. package/src/form/field/ComboBox.mjs +3 -2
  93. package/src/form/field/FileUpload.mjs +3 -3
  94. package/src/form/field/Text.mjs +2 -2
  95. package/src/form/field/TextArea.mjs +2 -2
  96. package/src/grid/Container.mjs +2 -2
  97. package/src/layout/Cube.mjs +1 -3
  98. package/src/list/plugin/Animate.mjs +23 -23
  99. package/src/main/DomAccess.mjs +1 -1
  100. package/src/main/DomEvents.mjs +14 -5
  101. package/src/main/addon/AmCharts.mjs +2 -2
  102. package/src/main/addon/MapboxGL.mjs +4 -4
  103. package/src/manager/DomEvent.mjs +2 -2
  104. package/src/manager/Focus.mjs +2 -2
  105. package/src/manager/Toast.mjs +6 -4
  106. package/src/manager/rpc/Message.mjs +2 -2
  107. package/src/plugin/Resizable.mjs +11 -3
  108. package/src/selection/HelixModel.mjs +3 -3
  109. package/src/tab/Strip.mjs +4 -4
  110. package/src/table/Container.mjs +4 -4
  111. package/src/util/Logger.mjs +6 -4
  112. package/src/worker/App.mjs +2 -2
  113. package/src/worker/Manager.mjs +3 -2
  114. package/apps/website/Overwrites.mjs +0 -16
  115. package/apps/website/app.mjs +0 -7
  116. package/apps/website/data/blog.json +0 -769
  117. package/apps/website/data/docs.json +0 -29
  118. package/apps/website/data/examples_devmode.json +0 -173
  119. package/apps/website/data/examples_dist_dev.json +0 -164
  120. package/apps/website/data/examples_dist_prod.json +0 -164
  121. package/apps/website/index.html +0 -11
  122. package/apps/website/model/BlogPost.mjs +0 -60
  123. package/apps/website/model/Example.mjs +0 -48
  124. package/apps/website/neo-config.json +0 -7
  125. package/apps/website/store/BlogPosts.mjs +0 -39
  126. package/apps/website/store/Examples.mjs +0 -35
  127. package/apps/website/view/HeaderContainer.mjs +0 -72
  128. package/apps/website/view/MainContainer.mjs +0 -95
  129. package/apps/website/view/MainContainerController.mjs +0 -230
  130. package/apps/website/view/blog/Container.mjs +0 -50
  131. package/apps/website/view/blog/List.mjs +0 -171
  132. package/apps/website/view/examples/List.mjs +0 -124
  133. package/apps/website/view/examples/TabContainer.mjs +0 -66
  134. package/apps/website/view/home/DeveloperIntroComponent.mjs +0 -266
  135. package/apps/website/view/home/ExecutiveIntroComponent.mjs +0 -291
  136. package/apps/website/view/home/TabContainer.mjs +0 -56
  137. package/resources/scss/src/apps/website/HeaderContainer.scss +0 -136
  138. package/resources/scss/src/apps/website/MainContainer.scss +0 -25
  139. package/resources/scss/src/apps/website/blog/Container.scss +0 -18
  140. package/resources/scss/src/apps/website/blog/List.scss +0 -183
  141. package/resources/scss/src/apps/website/examples/List.scss +0 -157
  142. package/resources/scss/src/apps/website/home/TabContainer.scss +0 -117
  143. package/resources/scss/theme-dark/apps/website/HeaderContainer.scss +0 -5
  144. package/resources/scss/theme-dark/apps/website/MainContainer.scss +0 -4
  145. package/resources/scss/theme-dark/apps/website/blog/Container.scss +0 -3
  146. package/resources/scss/theme-dark/apps/website/home/TabContainer.scss +0 -4
  147. package/resources/scss/theme-light/apps/website/HeaderContainer.scss +0 -5
  148. package/resources/scss/theme-light/apps/website/MainContainer.scss +0 -4
  149. package/resources/scss/theme-light/apps/website/blog/Container.scss +0 -3
  150. package/resources/scss/theme-light/apps/website/home/TabContainer.scss +0 -4
  151. package/resources/scss/theme-neo-light/apps/website/HeaderContainer.scss +0 -5
  152. package/resources/scss/theme-neo-light/apps/website/MainContainer.scss +0 -4
  153. package/resources/scss/theme-neo-light/apps/website/blog/Container.scss +0 -3
  154. package/resources/scss/theme-neo-light/apps/website/home/TabContainer.scss +0 -4
@@ -1,48 +0,0 @@
1
- import Model from '../../../src/data/Model.mjs';
2
-
3
- /**
4
- * @class Website.model.Example
5
- * @extends Neo.data.Model
6
- */
7
- class Example extends Model {
8
- static config = {
9
- /**
10
- * @member {String} className='Website.model.Example'
11
- * @protected
12
- */
13
- className: 'BlogPost.model.Example',
14
- /**
15
- * @member {Object[]} fields
16
- * @protected
17
- */
18
- fields: [{
19
- name: 'backgroundColor',
20
- type: 'String'
21
- }, {
22
- name: 'browsers',
23
- type: 'Array'
24
- }, {
25
- name: 'environments',
26
- type: 'Array'
27
- }, {
28
- name: 'id',
29
- type: 'Integer'
30
- }, {
31
- name: 'image',
32
- type: 'String'
33
- }, {
34
- name: 'name',
35
- type: 'String'
36
- }, {
37
- name: 'sourceUrl',
38
- type: 'String'
39
- }, {
40
- name: 'url',
41
- type: 'String'
42
- }]
43
- }
44
- }
45
-
46
- Neo.setupClass(Example);
47
-
48
- export default Example;
@@ -1,7 +0,0 @@
1
- {
2
- "appPath" : "apps/website/app.mjs",
3
- "basePath" : "../../",
4
- "environment" : "development",
5
- "mainPath" : "./Main.mjs",
6
- "mainThreadAddons": ["DragDrop", "Navigator", "Stylesheet"]
7
- }
@@ -1,39 +0,0 @@
1
- import BlogPost from '../model/BlogPost.mjs';
2
- import Store from '../../../src/data/Store.mjs';
3
-
4
- /**
5
- * @class Website.store.BlogPosts
6
- * @extends Neo.data.Store
7
- */
8
- class BlogPosts extends Store {
9
- static config = {
10
- /**
11
- * @member {String} className='Website.store.BlogPosts'
12
- * @protected
13
- */
14
- className: 'Website.store.BlogPosts',
15
- /**
16
- * @member {String} keyProperty='id'
17
- */
18
- keyProperty: 'id',
19
- /**
20
- * @member {Neo.data.Model} model=BlogPost
21
- */
22
- model: BlogPost,
23
- /**
24
- * @member {Object[]} sorters=[{property: 'id', direction: 'DESC'}]
25
- */
26
- sorters: [{
27
- property : 'id',
28
- direction: 'DESC'
29
- }],
30
- /**
31
- * @member {String} url='../../apps/website/data/blog.json'
32
- */
33
- url: '../../apps/website/data/blog.json'
34
- }
35
- }
36
-
37
- Neo.setupClass(BlogPosts);
38
-
39
- export default BlogPosts;
@@ -1,35 +0,0 @@
1
- import Example from '../model/Example.mjs';
2
- import Store from '../../../src/data/Store.mjs';
3
-
4
- /**
5
- * @class Website.store.Examples
6
- * @extends Neo.data.Store
7
- */
8
- class Examples extends Store {
9
- static config = {
10
- /**
11
- * @member {String} className='Website.store.Examples'
12
- * @protected
13
- */
14
- className: 'Website.store.Examples',
15
- /**
16
- * @member {String} keyProperty='id'
17
- */
18
- keyProperty: 'id',
19
- /**
20
- * @member {Neo.data.Model} model=Example
21
- */
22
- model: Example,
23
- /**
24
- * @member {Object[]} sorters=[{property: 'id', direction: 'ASC'}]
25
- */
26
- sorters: [{
27
- property : 'id',
28
- direction: 'DESC'
29
- }]
30
- }
31
- }
32
-
33
- Neo.setupClass(Examples);
34
-
35
- export default Examples;
@@ -1,72 +0,0 @@
1
- import Container from '../../../src/container/Base.mjs';
2
-
3
- /**
4
- * @class Website.view.HeaderContainer
5
- * @extends Neo.container.Base
6
- */
7
- class HeaderContainer extends Container {
8
- static config = {
9
- /**
10
- * @member {String} className='Website.view.HeaderContainer'
11
- * @protected
12
- */
13
- className: 'Website.view.HeaderContainer',
14
- /**
15
- * @member {String[]} baseCls=['website-header-container']
16
- */
17
- baseCls: ['website-header-container'],
18
- /**
19
- * @member {Object} layout={ntype: 'hbox', align: 'stretch'}
20
- */
21
- layout: {ntype: 'fit'},
22
- /**
23
- * @member {Array} items
24
- */
25
- items: [{
26
- ntype : 'component',
27
- reference: 'logo',
28
-
29
- vdom:
30
- {cn: [
31
- {cls: ['neo-full-size', 'neo-logo']},
32
- {cls: ['neo-relative'], cn: [
33
- {cls: ['neo-absolute', 'neo-item-bottom-position'], cn: [
34
- {cls: ['neo-title'], html: 'neo.mjs'},
35
- {cls: ['neo-inner-content'], cn: [
36
- {cls : ['neo-inner-details'], html: 'Create multithreaded Web Apps'}
37
- ]}
38
- ]}
39
- ]}
40
- ]}
41
- }, {
42
- ntype : 'container',
43
- cls : ['website-header-buttons'],
44
- layout: {ntype: 'hbox', align: 'stretch'},
45
-
46
- itemDefaults: {
47
- ntype: 'button'
48
- },
49
-
50
- items: [{
51
- handler: 'onSwitchThemeButtonClick',
52
- iconCls: 'fa fa-moon'
53
- }, {
54
- iconCls: 'fab fa-github',
55
- url : 'https://github.com/neomjs/neo'
56
- }, {
57
- iconCls: 'fab fa-facebook-f',
58
- url : 'https://www.facebook.com/Neomjs-101788847886539/'
59
- }, {
60
- iconCls: 'fab fa-linkedin-in',
61
- url : 'https://www.linkedin.com/company/26254666/'
62
- }, {
63
- iconCls: 'fab fa-twitter',
64
- url : 'https://twitter.com/UhligTobias'
65
- }]
66
- }]
67
- }
68
- }
69
-
70
- Neo.setupClass(HeaderContainer);
71
-
72
- export default HeaderContainer;
@@ -1,95 +0,0 @@
1
- import Container from '../../../src/container/Base.mjs';
2
- import HeaderContainer from './HeaderContainer.mjs';
3
- import MainContainerController from './MainContainerController.mjs';
4
- import TabContainer from '../../../src/tab/Container.mjs';
5
- import Viewport from '../../../src/container/Viewport.mjs';
6
-
7
- /**
8
- * @class Website.view.MainContainer
9
- * @extends Neo.container.Viewport
10
- */
11
- class MainContainer extends Viewport {
12
- static config = {
13
- /**
14
- * @member {String} className='Website.view.MainContainer'
15
- * @protected
16
- */
17
- className: 'Website.view.MainContainer',
18
- /**
19
- * @member {String[]} baseCls=['website-main-container','neo-viewport']
20
- */
21
- baseCls: ['website-main-container', 'neo-viewport'],
22
- /**
23
- * @member {Neo.controller.Component} controller=MainContainerController
24
- */
25
- controller: MainContainerController,
26
- /**
27
- * @member {Object} layout={ntype: 'hbox',align: 'stretch'}
28
- */
29
- layout: {ntype: 'hbox', align: 'stretch'},
30
- /**
31
- * @member {Array} items
32
- */
33
- items: [{
34
- module: Container,
35
- cls : ['website-center-region'],
36
- layout: {ntype: 'vbox', align: 'stretch'},
37
- items : [{
38
- module : HeaderContainer,
39
- flex : 'none',
40
- reference: 'header-container'
41
- }, {
42
- module : TabContainer,
43
- activeIndex: null, // render no items initially
44
- cls : ['website-main-tabcontainer', 'neo-tab-container'],
45
- flex : 1,
46
- reference : 'main-tab-container',
47
- sortable : true,
48
-
49
- items: [{
50
- module : () => import('./home/TabContainer.mjs'),
51
- reference : 'home',
52
- tabButtonConfig: {
53
- editRoute: false,
54
- iconCls : 'fa fa-home',
55
- route : 'mainview=home',
56
- text : 'Home'
57
- }
58
- }, {
59
- module : () => import('./blog/Container.mjs'),
60
- reference : 'blog',
61
- tabButtonConfig: {
62
- editRoute: false,
63
- iconCls : 'fa fa-rss',
64
- reference: 'blog-header-button',
65
- route : 'mainview=blog',
66
- text : 'Blog'
67
- }
68
- }, {
69
- module : () => import('./examples/TabContainer.mjs'),
70
- reference : 'examples',
71
- tabButtonConfig: {
72
- editRoute: false,
73
- iconCls : 'fa fa-images',
74
- route : 'mainview=examples',
75
- text : 'Examples'
76
- }
77
- }, {
78
- module : () => import('./examples/List.mjs'),
79
- reference : 'docs',
80
- storeUrl : '../../apps/website/data/docs.json',
81
- tabButtonConfig: {
82
- editRoute: false,
83
- iconCls : 'fa fa-hands-helping',
84
- route : 'mainview=docs',
85
- text : 'Docs'
86
- }
87
- }]
88
- }]
89
- }]
90
- }
91
- }
92
-
93
- Neo.setupClass(MainContainer);
94
-
95
- export default MainContainer;
@@ -1,230 +0,0 @@
1
- import ComponentController from '../../../src/controller/Component.mjs';
2
- import NeoArray from '../../../src/util/Array.mjs';
3
-
4
- /**
5
- * @class Website.view.MainContainerController
6
- * @extends Neo.controller.Component
7
- */
8
- class MainContainerController extends ComponentController {
9
- static config = {
10
- /**
11
- * @member {String} className='Website.view.MainContainerController'
12
- * @protected
13
- */
14
- className: 'Website.view.MainContainerController',
15
- /**
16
- * @member {String[]} examplesTabs=['devmode','dist_dev','dist_prod']
17
- * @protected
18
- */
19
- examplesTabs: ['devmode', 'dist_dev', 'dist_prod'],
20
- /**
21
- * @member {String[]} homeTabs=['developers','executives']
22
- * @protected
23
- */
24
- homeTabs: ['developers', 'executives'],
25
- /**
26
- * @member {String[]} mainTabs=['home','blog','examples','docs']
27
- * @protected
28
- */
29
- mainTabs: ['home', 'blog', 'examples', 'docs'],
30
- /**
31
- * @member {String[]} mainTabsListeners=[]
32
- * @protected
33
- */
34
- mainTabsListeners: []
35
- }
36
-
37
- /**
38
- * @param {Number} tabIndex
39
- * @returns {Neo.component.Base}
40
- */
41
- getView(tabIndex) {
42
- return this.getReference(this.mainTabs[tabIndex]);
43
- }
44
-
45
- /**
46
- * @param {Object[]} records
47
- */
48
- onBlogPostStoreLoad(records) {
49
- this.getReference('blog-header-button').badgeText = records.length + ''
50
- }
51
-
52
- /**
53
- *
54
- */
55
- onComponentConstructed() {
56
- let me = this;
57
-
58
- me.getReference('main-tab-container').on('moveTo', me.onTabMove.bind(me, 'mainTabs'));
59
- }
60
-
61
- /**
62
- *
63
- */
64
- onConstructed() {
65
- super.onConstructed();
66
-
67
- if (!Neo.config.hash) {
68
- this.onHashChange({
69
- hash : {mainview: 'home'},
70
- hashString: 'mainview=home'
71
- }, null);
72
- }
73
- }
74
-
75
- /**
76
- * @param {Object} value
77
- * @param {Object} oldValue
78
- */
79
- onHashChange(value, oldValue) {
80
- let me = this,
81
- hash = value?.hash,
82
- tabContainer = me.getReference('main-tab-container'),
83
- activeIndex = me.mainTabs.indexOf(hash.mainview),
84
- activeView = me.getView(activeIndex),
85
- listeners = me.mainTabsListeners,
86
- store;
87
-
88
- if (tabContainer && activeIndex > -1) {
89
- tabContainer.activeIndex = activeIndex;
90
- }
91
-
92
- if (!activeView || !activeView.isConstructed) {
93
- setTimeout(() => {
94
- me.onHashChange(value, oldValue);
95
- }, 10);
96
-
97
- return;
98
- }
99
-
100
- switch (hash.mainview) {
101
- case 'home': {
102
- if (!listeners['home']) {
103
- listeners.push('home');
104
- activeView.on('moveTo', me.onTabMove.bind(me, 'homeTabs'));
105
- }
106
-
107
- if (hash.childview) {
108
- activeView.activeIndex = me.homeTabs.indexOf(hash.childview);
109
- }
110
- break;
111
- }
112
- case 'blog': {
113
- store = me.getReference('blog-list').store;
114
- break;
115
- }
116
- case 'examples': {
117
- if (!listeners['examples']) {
118
- listeners.push('examples');
119
- activeView.on('moveTo', me.onTabMove.bind(me, 'examplesTabs'));
120
- }
121
-
122
- switch (hash.childview) {
123
- case 'devmode':
124
- store = me.getReference('examples-devmode-list').store;
125
- break;
126
- case 'dist_dev':
127
- store = me.getReference('examples-dist-dev-list').store;
128
- break;
129
- default:
130
- store = me.getReference('examples-dist-prod-list').store;
131
- break;
132
- }
133
-
134
- if (hash.childview) {
135
- activeView.activeIndex = me.examplesTabs.indexOf(hash.childview);
136
- }
137
- break;
138
- }
139
- case 'docs': {
140
- store = me.getReference('docs').store;
141
- break;
142
- }
143
- }
144
-
145
- if (store?.getCount() < 1) {
146
- setTimeout(() => {
147
- store.load();
148
- }, 50);
149
- }
150
- }
151
-
152
- /**
153
- * @param {Object} data
154
- */
155
- onNavLinkClick(data) {
156
- const targetId = data.target.data.target;
157
-
158
- Neo.main.DomAccess.scrollIntoView({
159
- id: targetId
160
- }).then(() => {
161
- setTimeout(() => {
162
- Neo.main.DomAccess.setStyle({
163
- id: targetId,
164
- style: {
165
- color: 'red'
166
- }
167
- }).then(() => {
168
- setTimeout(() => {
169
- Neo.main.DomAccess.setStyle({
170
- id: targetId,
171
- style: {
172
- color: null
173
- }
174
- });
175
- }, 300)
176
- });
177
- }, 900)
178
- });
179
- }
180
-
181
- /**
182
- * @param {Object} data
183
- */
184
- onSearchFieldChange(data) {
185
- this.getReference('blog-list').filterItems(data);
186
- }
187
-
188
- /**
189
- * @param {Object} data
190
- */
191
- onSwitchThemeButtonClick(data) {
192
- let me = this,
193
- button = data.component,
194
- component = me.component,
195
- cls, iconCls, theme;
196
-
197
- if (button.iconCls === 'fa fa-sun') {
198
- iconCls = 'fa fa-moon';
199
- theme = 'neo-theme-light';
200
- } else {
201
- iconCls = 'fa fa-sun';
202
- theme = 'neo-theme-dark';
203
- }
204
-
205
- cls = [...component.cls];
206
-
207
- component.cls.forEach(item => {
208
- if (item.includes('neo-theme')) {
209
- NeoArray.remove(cls, item);
210
- }
211
- });
212
-
213
- NeoArray.add(cls, theme);
214
- component.cls = cls;
215
-
216
- button.iconCls = iconCls;
217
- }
218
-
219
- /**
220
- * @param {String} target examplesTabs, homeTabs, mainTabs
221
- * @param {Object} data
222
- */
223
- onTabMove(target, data) {
224
- NeoArray.move(this[target], data.fromIndex, data.toIndex);
225
- }
226
- }
227
-
228
- Neo.setupClass(MainContainerController);
229
-
230
- export default MainContainerController;
@@ -1,50 +0,0 @@
1
- import BaseContainer from '../../../../src/container/Base.mjs';
2
- import List from './List.mjs';
3
- import SearchField from '../../../../src/form/field/Search.mjs';
4
-
5
- /**
6
- * @class Website.view.blog.Container
7
- * @extends Neo.container.Base
8
- */
9
- class Container extends BaseContainer {
10
- static config = {
11
- /**
12
- * @member {String} className='Website.view.blog.Container'
13
- * @protected
14
- */
15
- className: 'Website.view.blog.Container',
16
- /**
17
- * @member {String[]} baseCls=['website-blog-container','neo-container']
18
- */
19
- baseCls: ['website-blog-container', 'neo-container'],
20
- /**
21
- * @member {Array} items
22
- */
23
- items: [{ //#323232
24
- module: BaseContainer,
25
- cls : ['website-blog-toolbar', 'neo-container'],
26
- flex : 'none',
27
- layout: {ntype: 'hbox', align: 'stretch'},
28
-
29
- items: [{
30
- module : SearchField,
31
- cls : ['website-blog-searchfield', 'neo-searchfield', 'neo-textfield'],
32
- listeners : {change: 'onSearchFieldChange'},
33
- placeholderText: 'Filter Items',
34
- width : 240
35
- }]
36
- }, {
37
- module : List,
38
- flex : 1,
39
- reference: 'blog-list'
40
- }],
41
- /**
42
- * @member {Object} layout={ntype: 'vbox', align: 'stretch'}
43
- */
44
- layout: {ntype: 'vbox', align: 'stretch'}
45
- }
46
- }
47
-
48
- Neo.setupClass(Container);
49
-
50
- export default Container;