neo.mjs 7.1.0 → 7.2.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.
- package/apps/ServiceWorker.mjs +2 -2
- package/apps/portal/index.html +1 -1
- package/apps/portal/model/Example.mjs +46 -0
- package/apps/portal/resources/data/examples_devmode.json +173 -0
- package/apps/portal/resources/data/examples_dist_dev.json +164 -0
- package/apps/portal/resources/data/examples_dist_prod.json +164 -0
- package/apps/portal/store/Examples.mjs +33 -0
- package/apps/portal/view/HeaderToolbar.mjs +3 -0
- package/apps/portal/view/Viewport.mjs +3 -2
- package/apps/portal/view/ViewportController.mjs +32 -14
- package/apps/portal/view/about/Container.mjs +2 -2
- package/apps/portal/view/blog/List.mjs +3 -3
- package/apps/portal/view/examples/List.mjs +122 -0
- package/apps/portal/view/examples/TabContainer.mjs +79 -0
- package/apps/portal/view/examples/TabContainerController.mjs +41 -0
- package/apps/portal/view/home/FooterContainer.mjs +1 -1
- package/apps/shareddialog/view/MainContainerController.mjs +37 -30
- package/examples/ServiceWorker.mjs +2 -2
- package/examples/todoList/version2/TodoListModel.mjs +1 -1
- package/package.json +1 -1
- package/resources/scss/src/apps/portal/about/MemberContainer.scss +5 -4
- package/resources/scss/src/apps/portal/blog/Container.scss +2 -0
- package/resources/scss/src/apps/portal/examples/List.scss +157 -0
- package/resources/scss/src/apps/portal/examples/TabContainer.scss +36 -0
- package/resources/scss/src/button/Base.scss +4 -0
- package/resources/scss/src/calendar/view/calendars/ColorsList.scss +4 -0
- package/resources/scss/src/calendar/view/calendars/List.scss +2 -1
- package/resources/scss/src/dialog/Base.scss +2 -2
- package/resources/scss/src/list/Base.scss +3 -3
- package/resources/scss/theme-neo-light/button/Base.scss +3 -3
- package/src/DefaultConfig.mjs +2 -2
- package/src/calendar/view/MainContainer.mjs +7 -5
- package/src/calendar/view/calendars/EditContainer.mjs +3 -2
- package/src/calendar/view/calendars/List.mjs +1 -0
- package/src/calendar/view/week/Component.mjs +5 -3
- package/src/calendar/view/week/plugin/DragDrop.mjs +4 -3
- package/src/layout/Cube.mjs +44 -38
@@ -0,0 +1,157 @@
|
|
1
|
+
.portal-examples-list.neo-list {
|
2
|
+
transition: padding var(--portal-transition-duration) ease-out;
|
3
|
+
|
4
|
+
.neo-list-item {
|
5
|
+
cursor : default;
|
6
|
+
display : flex;
|
7
|
+
max-width : 800px;
|
8
|
+
overflow : hidden;
|
9
|
+
padding : 0;
|
10
|
+
transition : height var(--portal-transition-duration) ease-out, margin-bottom var(--portal-transition-duration) ease-out;
|
11
|
+
white-space : normal;
|
12
|
+
width : 100%;
|
13
|
+
|
14
|
+
.content {
|
15
|
+
flex: 1;
|
16
|
+
}
|
17
|
+
|
18
|
+
.neo-absolute {
|
19
|
+
position: absolute;
|
20
|
+
}
|
21
|
+
|
22
|
+
.neo-full-size {
|
23
|
+
height: 100%;
|
24
|
+
width : 100%;
|
25
|
+
}
|
26
|
+
|
27
|
+
.neo-github-image {
|
28
|
+
color : #ddd;
|
29
|
+
text-decoration : none;
|
30
|
+
transition-duration : var(--portal-transition-duration);
|
31
|
+
transition-property : font-size, height, width;
|
32
|
+
transition-timing-function: ease-out;
|
33
|
+
}
|
34
|
+
|
35
|
+
.neo-inner-content {
|
36
|
+
color : #fff;
|
37
|
+
display : inline-block;
|
38
|
+
margin-left: 10px;
|
39
|
+
text-shadow: 1px 1px 1px #000, 1px 1px 1px #fff;
|
40
|
+
transition : font-size var(--portal-transition-duration) ease-out;
|
41
|
+
}
|
42
|
+
|
43
|
+
.neo-inner-details {
|
44
|
+
transition: line-height var(--portal-transition-duration) ease-out;
|
45
|
+
}
|
46
|
+
|
47
|
+
.neo-item-bottom-position {
|
48
|
+
bottom : 0;
|
49
|
+
left : 0;
|
50
|
+
transition: margin var(--portal-transition-duration) ease-out;
|
51
|
+
}
|
52
|
+
|
53
|
+
.neo-relative {
|
54
|
+
position: relative;
|
55
|
+
}
|
56
|
+
|
57
|
+
.neo-title {
|
58
|
+
color : #fff;
|
59
|
+
font-weight : 600;
|
60
|
+
line-height : 1;
|
61
|
+
text-decoration: none;
|
62
|
+
text-shadow : 1px 1px 1px #000, 1px 1px 1px #fff;
|
63
|
+
transition : color 250ms ease-out;
|
64
|
+
|
65
|
+
&:hover {
|
66
|
+
color: #5d83a7
|
67
|
+
}
|
68
|
+
}
|
69
|
+
|
70
|
+
.neo-top-20 {
|
71
|
+
align-items: center;
|
72
|
+
display : flex;
|
73
|
+
transition : margin var(--portal-transition-duration) ease-out;
|
74
|
+
}
|
75
|
+
|
76
|
+
.preview-image {
|
77
|
+
background-blend-mode: overlay;
|
78
|
+
background-size : cover;
|
79
|
+
height : 100%;
|
80
|
+
}
|
81
|
+
}
|
82
|
+
|
83
|
+
@media (max-height: 400px), (max-width: 600px) {
|
84
|
+
padding: 5px 5px 0 5px;
|
85
|
+
|
86
|
+
.neo-github-image {
|
87
|
+
font-size: 30px;
|
88
|
+
height : 30px;
|
89
|
+
width : 30px;
|
90
|
+
}
|
91
|
+
|
92
|
+
.neo-inner-content {
|
93
|
+
font-size: 12px;
|
94
|
+
}
|
95
|
+
|
96
|
+
.neo-inner-details {
|
97
|
+
line-height: 16px;
|
98
|
+
}
|
99
|
+
|
100
|
+
.neo-item-bottom-position {
|
101
|
+
margin: 9px 12px;
|
102
|
+
right : 15%;
|
103
|
+
}
|
104
|
+
|
105
|
+
.neo-list-item {
|
106
|
+
border-radius: 10px;
|
107
|
+
height : 200px;
|
108
|
+
margin-bottom: 5px;
|
109
|
+
}
|
110
|
+
|
111
|
+
.neo-title {
|
112
|
+
font-size: 20px;
|
113
|
+
}
|
114
|
+
|
115
|
+
.neo-top-20 {
|
116
|
+
margin-top: 10px;
|
117
|
+
}
|
118
|
+
}
|
119
|
+
|
120
|
+
@media (min-height: 401px) and (min-width: 601px) {
|
121
|
+
padding: 10px 10px 0 10px;
|
122
|
+
|
123
|
+
.neo-github-image {
|
124
|
+
font-size: 44px;
|
125
|
+
height : 44px;
|
126
|
+
width : 44px;
|
127
|
+
}
|
128
|
+
|
129
|
+
.neo-inner-content {
|
130
|
+
font-size: 16px;
|
131
|
+
}
|
132
|
+
|
133
|
+
.neo-inner-details {
|
134
|
+
font-size : 16px;
|
135
|
+
line-height: 22px;
|
136
|
+
}
|
137
|
+
|
138
|
+
.neo-item-bottom-position {
|
139
|
+
margin: 30px 40px;
|
140
|
+
right : 30%;
|
141
|
+
}
|
142
|
+
|
143
|
+
.neo-list-item {
|
144
|
+
border-radius: 20px;
|
145
|
+
height : 400px;
|
146
|
+
margin-bottom: 10px;
|
147
|
+
}
|
148
|
+
|
149
|
+
.neo-title {
|
150
|
+
font-size: 34px;
|
151
|
+
}
|
152
|
+
|
153
|
+
.neo-top-20 {
|
154
|
+
margin-top: 20px;
|
155
|
+
}
|
156
|
+
}
|
157
|
+
}
|
@@ -0,0 +1,36 @@
|
|
1
|
+
.portal-examples-tab-container.neo-tab-container {
|
2
|
+
margin : 0 auto;
|
3
|
+
max-width: 830px;
|
4
|
+
}
|
5
|
+
|
6
|
+
.portal-examples-tab-header-toolbar.neo-tab-header-toolbar {
|
7
|
+
background-color: #8BA6FF;
|
8
|
+
|
9
|
+
.neo-tab-header-button.neo-button {
|
10
|
+
.neo-button-glyph {
|
11
|
+
color: #fff;
|
12
|
+
}
|
13
|
+
|
14
|
+
.neo-button-ripple {
|
15
|
+
background-color: #3E63DD;
|
16
|
+
}
|
17
|
+
|
18
|
+
&.neo-button.pressed .neo-tab-button-indicator {
|
19
|
+
background-color: #3E63DD;
|
20
|
+
}
|
21
|
+
|
22
|
+
.neo-button-text {
|
23
|
+
color: #fff;
|
24
|
+
}
|
25
|
+
|
26
|
+
&.pressed {
|
27
|
+
.neo-button-glyph {
|
28
|
+
color: #3E63DD;
|
29
|
+
}
|
30
|
+
}
|
31
|
+
}
|
32
|
+
|
33
|
+
.neo-tab-strip .neo-active-tab-indicator {
|
34
|
+
background-color: #3E63DD;
|
35
|
+
}
|
36
|
+
}
|
@@ -73,16 +73,20 @@
|
|
73
73
|
.neo-button-ripple {
|
74
74
|
background-color: var(--button-ripple-background-color);
|
75
75
|
border-radius : 50%;
|
76
|
+
padding : var(--button-padding);
|
76
77
|
opacity : 0;
|
77
78
|
position : absolute;
|
78
79
|
transform : scale(4);
|
79
80
|
}
|
80
81
|
|
81
82
|
.neo-button-ripple-wrapper {
|
83
|
+
border-radius : var(--button-border-radius);
|
82
84
|
height : 100%;
|
85
|
+
left : 0;
|
83
86
|
overflow : hidden;
|
84
87
|
pointer-events: none;
|
85
88
|
position : absolute;
|
89
|
+
top : 0;
|
86
90
|
width : 100%;
|
87
91
|
}
|
88
92
|
|
@@ -1,4 +1,4 @@
|
|
1
|
-
.neo-calendars-list
|
1
|
+
.neo-calendars-list {
|
2
2
|
.neo-checkboxfield {
|
3
3
|
align-items: center;
|
4
4
|
display : flex;
|
@@ -64,6 +64,7 @@
|
|
64
64
|
|
65
65
|
.neo-edit-icon {
|
66
66
|
color : var(--calendars-list-edit-icon-color);
|
67
|
+
cursor : pointer;
|
67
68
|
font-size : 16px;
|
68
69
|
font-weight : 600;
|
69
70
|
height : 1em;
|
@@ -69,9 +69,9 @@
|
|
69
69
|
}
|
70
70
|
|
71
71
|
&[aria-selected="true"] {
|
72
|
-
background-color: var(--list-item-background-color-selected)
|
73
|
-
color : var(--list-item-color-selected)
|
74
|
-
cursor : default
|
72
|
+
background-color: var(--list-item-background-color-selected);
|
73
|
+
color : var(--list-item-color-selected);
|
74
|
+
cursor : default;
|
75
75
|
}
|
76
76
|
|
77
77
|
.neo-highlight-search {
|
@@ -45,7 +45,7 @@
|
|
45
45
|
--button-background-gradient-start : #434749;
|
46
46
|
--button-opacity-disabled : inherit;
|
47
47
|
--button-outline-active : none;
|
48
|
-
--button-ripple-background-color :
|
48
|
+
--button-ripple-background-color : #8BA6FF;
|
49
49
|
--button-use-gradients : false;
|
50
50
|
|
51
51
|
// {module: Button; ui: --secondary} ––––––––––––––––––––––––––––––––––––––––––––––––––
|
@@ -78,7 +78,7 @@
|
|
78
78
|
--button-secondary-badge-background-color : transparent;
|
79
79
|
--button-secondary-badge-color : transparent;
|
80
80
|
--button-secondary-opacity-disabled : none;
|
81
|
-
--button-secondary-ripple-background-color :
|
81
|
+
--button-secondary-ripple-background-color : #8BA6FF;
|
82
82
|
|
83
83
|
|
84
84
|
// {module: Button; ui: --ghost} –––––––––––––––––––––––––––––––––––––––––––––––––––––--
|
@@ -111,7 +111,7 @@
|
|
111
111
|
--button-ghost-badge-background-color : transparent;
|
112
112
|
--button-ghost-badge-color : transparent;
|
113
113
|
--button-ghost-opacity-disabled : inherit;
|
114
|
-
--button-ghost-ripple-background-color :
|
114
|
+
--button-ghost-ripple-background-color : #8BA6FF;
|
115
115
|
|
116
116
|
|
117
117
|
// {module: Button; ui: --tertiary} –––––––––––––––––––––––––––––––––––––––––––––––––––
|
package/src/DefaultConfig.mjs
CHANGED
@@ -262,12 +262,12 @@ const DefaultConfig = {
|
|
262
262
|
useVdomWorker: true,
|
263
263
|
/**
|
264
264
|
* buildScripts/injectPackageVersion.mjs will update this value
|
265
|
-
* @default '7.
|
265
|
+
* @default '7.2.0'
|
266
266
|
* @memberOf! module:Neo
|
267
267
|
* @name config.version
|
268
268
|
* @type String
|
269
269
|
*/
|
270
|
-
version: '7.
|
270
|
+
version: '7.2.0'
|
271
271
|
};
|
272
272
|
|
273
273
|
Object.assign(DefaultConfig, {
|
@@ -323,11 +323,12 @@ class MainContainer extends Container {
|
|
323
323
|
let me = this;
|
324
324
|
|
325
325
|
me._editCalendarContainer = value = Neo.create({
|
326
|
-
module
|
327
|
-
appName: me.appName,
|
328
|
-
model
|
329
|
-
owner
|
330
|
-
width
|
326
|
+
module : EditCalendarContainer,
|
327
|
+
appName : me.appName,
|
328
|
+
model : {parent: me.getModel()},
|
329
|
+
owner : me,
|
330
|
+
width : 250,
|
331
|
+
windowId: me.windowId,
|
331
332
|
...me.editCalendarContainerConfig
|
332
333
|
})
|
333
334
|
}
|
@@ -499,6 +500,7 @@ class MainContainer extends Container {
|
|
499
500
|
me.items[1].add({
|
500
501
|
module : module.default,
|
501
502
|
collapsed,
|
503
|
+
minWidth : me.settingsContainerWidth,
|
502
504
|
removeInactiveCards: me.removeInactiveCards,
|
503
505
|
style : {marginRight: !collapsed ? '0' : `-${me.settingsContainerWidth}px`},
|
504
506
|
width : me.settingsContainerWidth,
|
@@ -64,7 +64,9 @@ class EditContainer extends FormContainer {
|
|
64
64
|
afterSetMounted(value, oldValue) {
|
65
65
|
super.afterSetMounted(value, oldValue);
|
66
66
|
|
67
|
-
value && this.getField('name').
|
67
|
+
value && this.getField('name').then(field => {
|
68
|
+
field.focus()
|
69
|
+
})
|
68
70
|
}
|
69
71
|
|
70
72
|
/**
|
@@ -116,7 +118,6 @@ class EditContainer extends FormContainer {
|
|
116
118
|
if (record) {
|
117
119
|
me.colorsList = Neo.create({
|
118
120
|
module : ColorsList,
|
119
|
-
appName : me.appName,
|
120
121
|
listeners : {change: me.onColorChange, scope: me},
|
121
122
|
parentId : me.parentId,
|
122
123
|
value : record.color,
|
@@ -359,19 +359,21 @@ class Component extends BaseComponent {
|
|
359
359
|
import('./plugin/DragDrop.mjs'),
|
360
360
|
import('./plugin/EventResizable.mjs')
|
361
361
|
]).then(modules => {
|
362
|
-
let me
|
363
|
-
{appName} = me,
|
364
|
-
plugins
|
362
|
+
let me = this,
|
363
|
+
{appName, windowId} = me,
|
364
|
+
plugins = me.plugins || [];
|
365
365
|
|
366
366
|
plugins.push({
|
367
367
|
module : modules[0].default,
|
368
368
|
appName,
|
369
|
+
windowId,
|
369
370
|
...me.pluginDragDropConfig
|
370
371
|
}, {
|
371
372
|
module : modules[1].default,
|
372
373
|
appName,
|
373
374
|
delegationCls: 'neo-event',
|
374
375
|
directions : ['b', 't'],
|
376
|
+
windowId,
|
375
377
|
...me.pluginEventResizableConfig
|
376
378
|
});
|
377
379
|
|
@@ -74,9 +74,9 @@ class DragDrop extends Base {
|
|
74
74
|
* @returns {Neo.calendar.view.week.EventDragZone}
|
75
75
|
*/
|
76
76
|
getEventDragZone(opts) {
|
77
|
-
let me
|
78
|
-
{appName, owner}
|
79
|
-
{eventDragZone, timeAxis}
|
77
|
+
let me = this,
|
78
|
+
{appName, owner, windowId} = me,
|
79
|
+
{eventDragZone, timeAxis} = owner,
|
80
80
|
|
81
81
|
config = {
|
82
82
|
axisEndTime : timeAxis.getTime(owner.endTime),
|
@@ -93,6 +93,7 @@ class DragDrop extends Base {
|
|
93
93
|
appName,
|
94
94
|
owner,
|
95
95
|
scrollContainerId: owner.getScrollContainer().id,
|
96
|
+
windowId,
|
96
97
|
...config,
|
97
98
|
|
98
99
|
dragProxyConfig: {
|
package/src/layout/Cube.mjs
CHANGED
@@ -130,7 +130,7 @@ class Cube extends Card {
|
|
130
130
|
* @protected
|
131
131
|
*/
|
132
132
|
async afterSetActiveIndex(value, oldValue) {
|
133
|
-
if (Neo.isNumber(value)) {
|
133
|
+
if (Neo.isNumber(value) && value < 6) {
|
134
134
|
let me = this,
|
135
135
|
{container} = me,
|
136
136
|
item = container.items[value];
|
@@ -254,24 +254,26 @@ class Cube extends Card {
|
|
254
254
|
applyChildAttributes(item, index) {
|
255
255
|
let {wrapperCls} = item;
|
256
256
|
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
257
|
+
if (index < 6) {
|
258
|
+
wrapperCls = NeoArray.union(wrapperCls, 'neo-face', Object.keys(Cube.faces)[index]);
|
259
|
+
|
260
|
+
switch(index) {
|
261
|
+
case 0:
|
262
|
+
case 1:
|
263
|
+
wrapperCls = NeoArray.union(wrapperCls, 'neo-face-z');
|
264
|
+
break;
|
265
|
+
case 2:
|
266
|
+
case 3:
|
267
|
+
wrapperCls = NeoArray.union(wrapperCls, 'neo-face-x');
|
268
|
+
break;
|
269
|
+
case 4:
|
270
|
+
case 5:
|
271
|
+
wrapperCls = NeoArray.union(wrapperCls, 'neo-face-y');
|
272
|
+
break;
|
273
|
+
}
|
273
274
|
|
274
|
-
|
275
|
+
item.wrapperCls = wrapperCls
|
276
|
+
}
|
275
277
|
}
|
276
278
|
|
277
279
|
/**
|
@@ -298,7 +300,7 @@ class Cube extends Card {
|
|
298
300
|
|
299
301
|
if (me.hideInactiveCardsOnDestroy) {
|
300
302
|
vdom.cn.forEach((item, index) => {
|
301
|
-
if (index !== me.activeIndex) {
|
303
|
+
if (index < 6 && index !== me.activeIndex) {
|
302
304
|
item.removeDom = true
|
303
305
|
}
|
304
306
|
})
|
@@ -334,8 +336,10 @@ class Cube extends Card {
|
|
334
336
|
|
335
337
|
me.timeout(50).then(() => {
|
336
338
|
// Important when switching from a card layout to this one
|
337
|
-
container.vdom.cn[0].cn[0].cn.forEach(node => {
|
338
|
-
|
339
|
+
container.vdom.cn[0].cn[0].cn.forEach((node, index) => {
|
340
|
+
if (index < 6) {
|
341
|
+
delete node.removeDom
|
342
|
+
}
|
339
343
|
});
|
340
344
|
|
341
345
|
container.update()
|
@@ -352,24 +356,26 @@ class Cube extends Card {
|
|
352
356
|
removeChildAttributes(item, index) {
|
353
357
|
let {wrapperCls} = item;
|
354
358
|
|
355
|
-
|
356
|
-
|
357
|
-
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
|
368
|
-
|
369
|
-
|
370
|
-
|
359
|
+
if (index < 6) {
|
360
|
+
NeoArray.remove(wrapperCls, ['neo-face', Object.keys(Cube.faces)[index]]);
|
361
|
+
|
362
|
+
switch(index) {
|
363
|
+
case 0:
|
364
|
+
case 1:
|
365
|
+
NeoArray.remove(wrapperCls, 'neo-face-z');
|
366
|
+
break;
|
367
|
+
case 2:
|
368
|
+
case 3:
|
369
|
+
NeoArray.remove(wrapperCls, 'neo-face-x');
|
370
|
+
break;
|
371
|
+
case 4:
|
372
|
+
case 5:
|
373
|
+
NeoArray.remove(wrapperCls, 'neo-face-y');
|
374
|
+
break;
|
375
|
+
}
|
371
376
|
|
372
|
-
|
377
|
+
item.wrapperCls = wrapperCls
|
378
|
+
}
|
373
379
|
}
|
374
380
|
|
375
381
|
/**
|