underpost 2.8.844 → 2.8.846
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/README.md +14 -2
- package/cli.md +4 -3
- package/docker-compose.yml +1 -1
- package/manifests/deployment/dd-template-development/deployment.yaml +2 -2
- package/package.json +1 -2
- package/src/cli/index.js +1 -7
- package/src/cli/run.js +7 -0
- package/src/client/Default.index.js +1 -1
- package/src/client/components/core/Chat.js +1 -1
- package/src/client/components/core/CommonJs.js +24 -22
- package/src/client/components/core/Content.js +1 -5
- package/src/client/components/core/Css.js +68 -4
- package/src/client/components/core/CssCore.js +5 -0
- package/src/client/components/core/Docs.js +9 -10
- package/src/client/components/core/DropDown.js +137 -82
- package/src/client/components/core/Modal.js +72 -48
- package/src/client/components/core/ObjectLayerEngine.js +638 -0
- package/src/client/components/core/Panel.js +156 -32
- package/src/client/components/core/PanelForm.js +12 -4
- package/src/client/components/core/Router.js +63 -2
- package/src/client/components/core/Translate.js +6 -2
- package/src/client/components/default/MenuDefault.js +27 -1
- package/src/client/public/default/android-chrome-144x144.png +0 -0
- package/src/client/public/default/android-chrome-192x192.png +0 -0
- package/src/client/public/default/android-chrome-256x256.png +0 -0
- package/src/client/public/default/android-chrome-36x36.png +0 -0
- package/src/client/public/default/android-chrome-48x48.png +0 -0
- package/src/client/public/default/android-chrome-72x72.png +0 -0
- package/src/client/public/default/android-chrome-96x96.png +0 -0
- package/src/client/public/default/apple-touch-icon-114x114-precomposed.png +0 -0
- package/src/client/public/default/apple-touch-icon-114x114.png +0 -0
- package/src/client/public/default/apple-touch-icon-120x120-precomposed.png +0 -0
- package/src/client/public/default/apple-touch-icon-120x120.png +0 -0
- package/src/client/public/default/apple-touch-icon-144x144-precomposed.png +0 -0
- package/src/client/public/default/apple-touch-icon-144x144.png +0 -0
- package/src/client/public/default/apple-touch-icon-152x152-precomposed.png +0 -0
- package/src/client/public/default/apple-touch-icon-152x152.png +0 -0
- package/src/client/public/default/apple-touch-icon-180x180-precomposed.png +0 -0
- package/src/client/public/default/apple-touch-icon-180x180.png +0 -0
- package/src/client/public/default/apple-touch-icon-57x57-precomposed.png +0 -0
- package/src/client/public/default/apple-touch-icon-57x57.png +0 -0
- package/src/client/public/default/apple-touch-icon-60x60-precomposed.png +0 -0
- package/src/client/public/default/apple-touch-icon-60x60.png +0 -0
- package/src/client/public/default/apple-touch-icon-72x72-precomposed.png +0 -0
- package/src/client/public/default/apple-touch-icon-72x72.png +0 -0
- package/src/client/public/default/apple-touch-icon-76x76-precomposed.png +0 -0
- package/src/client/public/default/apple-touch-icon-76x76.png +0 -0
- package/src/client/public/default/apple-touch-icon-precomposed.png +0 -0
- package/src/client/public/default/apple-touch-icon.png +0 -0
- package/src/client/public/default/assets/background/dark.jpg +0 -0
- package/src/client/public/default/assets/logo/base-icon.png +0 -0
- package/src/client/public/default/assets/mailer/api-user-check.png +0 -0
- package/src/client/public/default/assets/mailer/api-user-invalid-token.png +0 -0
- package/src/client/public/default/assets/mailer/api-user-recover.png +0 -0
- package/src/client/public/default/favicon-16x16.png +0 -0
- package/src/client/public/default/favicon-32x32.png +0 -0
- package/src/client/public/default/favicon.ico +0 -0
- package/src/client/public/default/mstile-144x144.png +0 -0
- package/src/client/public/default/mstile-150x150.png +0 -0
- package/src/client/public/default/mstile-310x150.png +0 -0
- package/src/client/public/default/mstile-310x310.png +0 -0
- package/src/client/public/default/mstile-70x70.png +0 -0
- package/src/client/public/default/safari-pinned-tab.svg +24 -0
- package/src/client/ssr/body/DefaultSplashScreen.js +2 -2
- package/src/index.js +1 -1
- package/src/server/client-build-docs.js +205 -0
- package/src/server/client-build.js +15 -138
- package/src/server/conf.js +12 -5
|
@@ -8,7 +8,12 @@ const DropDown = {
|
|
|
8
8
|
Tokens: {},
|
|
9
9
|
Render: async function (options) {
|
|
10
10
|
const id = options.id ? options.id : getId(this.Tokens, 'dropdown-');
|
|
11
|
-
this.Tokens[id] = {
|
|
11
|
+
this.Tokens[id] = {
|
|
12
|
+
onClickEvents: {},
|
|
13
|
+
lastSelectValue: undefined,
|
|
14
|
+
oncheckvalues: {},
|
|
15
|
+
originData: options.data ? newInstance(options.data) : [],
|
|
16
|
+
};
|
|
12
17
|
|
|
13
18
|
options.data.push({
|
|
14
19
|
value: 'reset',
|
|
@@ -39,6 +44,100 @@ const DropDown = {
|
|
|
39
44
|
else s(`.dropdown-option-${id}`).classList.add('hide');
|
|
40
45
|
};
|
|
41
46
|
|
|
47
|
+
const _render = async (data) => {
|
|
48
|
+
let render = '';
|
|
49
|
+
let index = -1;
|
|
50
|
+
for (const optionData of data) {
|
|
51
|
+
index++;
|
|
52
|
+
const i = index;
|
|
53
|
+
const valueDisplay = optionData.value.trim().replaceAll(' ', '-');
|
|
54
|
+
setTimeout(() => {
|
|
55
|
+
const onclick = (e) => {
|
|
56
|
+
if (options && options.lastSelectClass && s(`.dropdown-option-${this.Tokens[id].lastSelectValue}`)) {
|
|
57
|
+
s(`.dropdown-option-${this.Tokens[id].lastSelectValue}`).classList.remove(options.lastSelectClass);
|
|
58
|
+
}
|
|
59
|
+
this.Tokens[id].lastSelectValue = valueDisplay;
|
|
60
|
+
if (options && options.lastSelectClass && s(`.dropdown-option-${this.Tokens[id].lastSelectValue}`)) {
|
|
61
|
+
s(`.dropdown-option-${this.Tokens[id].lastSelectValue}`).classList.add(options.lastSelectClass);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
if (
|
|
65
|
+
!(options && options.disableClose) &&
|
|
66
|
+
(options.type !== 'checkbox' || optionData.value === 'close' || optionData.value === 'reset')
|
|
67
|
+
)
|
|
68
|
+
s(`.dropdown-option-${id}`).classList.add('hide');
|
|
69
|
+
|
|
70
|
+
if (options.type === 'checkbox' && ToggleSwitch.Tokens[`checkbox-role-${valueDisplay}`])
|
|
71
|
+
ToggleSwitch.Tokens[`checkbox-role-${valueDisplay}`].click();
|
|
72
|
+
if (optionData.value !== 'close') {
|
|
73
|
+
if (optionData.value !== 'reset') {
|
|
74
|
+
if (options.type === 'checkbox') {
|
|
75
|
+
// const _instanValue = data
|
|
76
|
+
// .filter((d) => d.checked)
|
|
77
|
+
// .map((v, i, a) => `${v.display}${i < a.length - 1 ? ',' : ''}`)
|
|
78
|
+
// .join('');
|
|
79
|
+
const value = Object.keys(DropDown.Tokens[id].oncheckvalues);
|
|
80
|
+
htmls(
|
|
81
|
+
`.dropdown-current-${id}`,
|
|
82
|
+
value.map((v) => DropDown.Tokens[id].originData.find((_v) => _v.value === v).display),
|
|
83
|
+
);
|
|
84
|
+
} else {
|
|
85
|
+
htmls(`.dropdown-current-${id}`, optionData.display);
|
|
86
|
+
}
|
|
87
|
+
} else htmls(`.dropdown-current-${id}`, '');
|
|
88
|
+
|
|
89
|
+
this.Tokens[id].value =
|
|
90
|
+
options.type === 'checkbox' ? data.filter((d) => d.checked).map((d) => d.data) : optionData.data;
|
|
91
|
+
|
|
92
|
+
console.warn('current value dropdown id:' + id, this.Tokens[id].value);
|
|
93
|
+
|
|
94
|
+
s(`.${id}`).value = this.Tokens[id].value;
|
|
95
|
+
|
|
96
|
+
optionData.onClick(e);
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
this.Tokens[id].onClickEvents[`dropdown-option-${id}-${i}`] = onclick;
|
|
101
|
+
this.Tokens[id].onClickEvents[`dropdown-option-${id}-${valueDisplay}`] = onclick;
|
|
102
|
+
this.Tokens[id].onClickEvents[`dropdown-option-${valueDisplay}`] = onclick;
|
|
103
|
+
|
|
104
|
+
s(`.dropdown-option-${id}-${i}`).onclick = onclick;
|
|
105
|
+
});
|
|
106
|
+
render += html`
|
|
107
|
+
<div
|
|
108
|
+
class="in dropdown-option dropdown-option-${id}-${i} dropdown-option-${id}-${valueDisplay} dropdown-option-${valueDisplay} ${valueDisplay ===
|
|
109
|
+
'reset' &&
|
|
110
|
+
options &&
|
|
111
|
+
!(options.resetOption === true)
|
|
112
|
+
? 'hide'
|
|
113
|
+
: ''}"
|
|
114
|
+
>
|
|
115
|
+
${options.type === 'checkbox' && optionData.value !== 'close' && optionData.value !== 'reset'
|
|
116
|
+
? html`
|
|
117
|
+
${await ToggleSwitch.Render({
|
|
118
|
+
id: `checkbox-role-${valueDisplay}`,
|
|
119
|
+
type: 'checkbox',
|
|
120
|
+
disabledOnClick: true,
|
|
121
|
+
checked: optionData.checked,
|
|
122
|
+
on: {
|
|
123
|
+
unchecked: () => {
|
|
124
|
+
optionData.checked = false;
|
|
125
|
+
delete DropDown.Tokens[id].oncheckvalues[valueDisplay];
|
|
126
|
+
},
|
|
127
|
+
checked: () => {
|
|
128
|
+
optionData.checked = true;
|
|
129
|
+
DropDown.Tokens[id].oncheckvalues[valueDisplay] = {};
|
|
130
|
+
},
|
|
131
|
+
},
|
|
132
|
+
})}
|
|
133
|
+
`
|
|
134
|
+
: ''}${optionData.display}
|
|
135
|
+
</div>
|
|
136
|
+
`;
|
|
137
|
+
}
|
|
138
|
+
return { render, index };
|
|
139
|
+
};
|
|
140
|
+
|
|
42
141
|
setTimeout(() => {
|
|
43
142
|
if (options.type === 'checkbox')
|
|
44
143
|
options.data.map((optionData) => {
|
|
@@ -53,92 +152,48 @@ const DropDown = {
|
|
|
53
152
|
s(`.dropdown-label-${id}`).onclick = switchOptionsPanel;
|
|
54
153
|
s(`.dropdown-current-${id}`).onclick = switchOptionsPanel;
|
|
55
154
|
if (options && options.open) switchOptionsPanel();
|
|
56
|
-
});
|
|
57
155
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
index++;
|
|
62
|
-
const i = index;
|
|
63
|
-
const valueDisplay = optionData.value.trim().replaceAll(' ', '-');
|
|
64
|
-
setTimeout(() => {
|
|
65
|
-
const onclick = (e) => {
|
|
66
|
-
if (options && options.lastSelectClass && s(`.dropdown-option-${this.Tokens[id].lastSelectValue}`)) {
|
|
67
|
-
s(`.dropdown-option-${this.Tokens[id].lastSelectValue}`).classList.remove(options.lastSelectClass);
|
|
68
|
-
}
|
|
69
|
-
this.Tokens[id].lastSelectValue = valueDisplay;
|
|
70
|
-
if (options && options.lastSelectClass && s(`.dropdown-option-${this.Tokens[id].lastSelectValue}`)) {
|
|
71
|
-
s(`.dropdown-option-${this.Tokens[id].lastSelectValue}`).classList.add(options.lastSelectClass);
|
|
72
|
-
}
|
|
156
|
+
const dropDownSearchHandle = async () => {
|
|
157
|
+
const _data = [];
|
|
158
|
+
if (!s(`.search-box-${id}`)) return;
|
|
73
159
|
|
|
160
|
+
let _value = s(`.search-box-${id}`).value.toLowerCase();
|
|
161
|
+
|
|
162
|
+
for (const objData of options.data) {
|
|
163
|
+
const objValue = objData.value.toLowerCase();
|
|
74
164
|
if (
|
|
75
|
-
|
|
76
|
-
(
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
if (optionData.value !== 'close') {
|
|
83
|
-
if (optionData.value !== 'reset')
|
|
84
|
-
htmls(
|
|
85
|
-
`.dropdown-current-${id}`,
|
|
86
|
-
options.type === 'checkbox'
|
|
87
|
-
? options.data
|
|
88
|
-
.filter((d) => d.checked)
|
|
89
|
-
.map((v, i, a) => `${v.display}${i < a.length - 1 ? ',' : ''}`)
|
|
90
|
-
.join('')
|
|
91
|
-
: optionData.display,
|
|
92
|
-
);
|
|
93
|
-
else htmls(`.dropdown-current-${id}`, '');
|
|
94
|
-
|
|
95
|
-
this.Tokens[id].value =
|
|
96
|
-
options.type === 'checkbox' ? options.data.filter((d) => d.checked).map((d) => d.data) : optionData.data;
|
|
97
|
-
|
|
98
|
-
console.warn('current value dropdown id:' + id, this.Tokens[id].value);
|
|
99
|
-
|
|
100
|
-
s(`.${id}`).value = this.Tokens[id].value;
|
|
101
|
-
|
|
102
|
-
optionData.onClick(e);
|
|
165
|
+
objValue.match(_value) ||
|
|
166
|
+
(Translate.Data[objData.value] &&
|
|
167
|
+
Object.keys(Translate.Data[objData.value]).find((t) =>
|
|
168
|
+
Translate.Data[objData.value][t].toLowerCase().match(_value),
|
|
169
|
+
))
|
|
170
|
+
) {
|
|
171
|
+
_data.push(objData);
|
|
103
172
|
}
|
|
104
|
-
}
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
if (_data.length > 0) {
|
|
176
|
+
const { render, index } = await _render(_data);
|
|
177
|
+
htmls(`.${id}-render-container`, render);
|
|
178
|
+
} else {
|
|
179
|
+
// const { render, index } = await _render(options.data);
|
|
180
|
+
htmls(
|
|
181
|
+
`.${id}-render-container`,
|
|
182
|
+
html` <div class="inl" style="padding: 10px; color: red">
|
|
183
|
+
<i class="fas fa-exclamation-circle"></i> ${Translate.Render('no-result-found')}
|
|
184
|
+
</div>`,
|
|
185
|
+
);
|
|
186
|
+
}
|
|
187
|
+
};
|
|
188
|
+
|
|
189
|
+
s(`.search-box-${id}`).oninput = dropDownSearchHandle;
|
|
190
|
+
|
|
191
|
+
// Not use onblur generate bug on input toggle
|
|
192
|
+
// s(`.search-box-${id}`).onblur = dropDownSearchHandle;
|
|
193
|
+
});
|
|
105
194
|
|
|
106
|
-
|
|
107
|
-
this.Tokens[id].onClickEvents[`dropdown-option-${id}-${valueDisplay}`] = onclick;
|
|
108
|
-
this.Tokens[id].onClickEvents[`dropdown-option-${valueDisplay}`] = onclick;
|
|
195
|
+
const { render, index } = await _render(options.data);
|
|
109
196
|
|
|
110
|
-
s(`.dropdown-option-${id}-${i}`).onclick = onclick;
|
|
111
|
-
});
|
|
112
|
-
render += html`
|
|
113
|
-
<div
|
|
114
|
-
class="in dropdown-option dropdown-option-${id}-${i} dropdown-option-${id}-${valueDisplay} dropdown-option-${valueDisplay} ${valueDisplay ===
|
|
115
|
-
'reset' &&
|
|
116
|
-
options &&
|
|
117
|
-
!(options.resetOption === true)
|
|
118
|
-
? 'hide'
|
|
119
|
-
: ''}"
|
|
120
|
-
>
|
|
121
|
-
${options.type === 'checkbox' && optionData.value !== 'close' && optionData.value !== 'reset'
|
|
122
|
-
? html`
|
|
123
|
-
${await ToggleSwitch.Render({
|
|
124
|
-
id: `checkbox-role-${valueDisplay}`,
|
|
125
|
-
type: 'checkbox',
|
|
126
|
-
disabledOnClick: true,
|
|
127
|
-
checked: optionData.checked,
|
|
128
|
-
on: {
|
|
129
|
-
unchecked: () => {
|
|
130
|
-
optionData.checked = false;
|
|
131
|
-
},
|
|
132
|
-
checked: () => {
|
|
133
|
-
optionData.checked = true;
|
|
134
|
-
},
|
|
135
|
-
},
|
|
136
|
-
})}
|
|
137
|
-
`
|
|
138
|
-
: ''}${optionData.display}
|
|
139
|
-
</div>
|
|
140
|
-
`;
|
|
141
|
-
}
|
|
142
197
|
return html`
|
|
143
198
|
<div class="inl dropdown-container ${id} ${options?.containerClass ? options.containerClass : ''}">
|
|
144
199
|
<div class="in dropdown-option dropdown-label-${id} ${options && options.disableSelectLabel ? 'hide' : ''}">
|
|
@@ -158,7 +213,7 @@ const DropDown = {
|
|
|
158
213
|
placeholder: true,
|
|
159
214
|
})}
|
|
160
215
|
</div>
|
|
161
|
-
${render}
|
|
216
|
+
<div class="${id}-render-container">${render}</div>
|
|
162
217
|
</div>
|
|
163
218
|
</div>
|
|
164
219
|
`;
|
|
@@ -24,7 +24,7 @@ import {
|
|
|
24
24
|
renderStatus,
|
|
25
25
|
renderCssAttr,
|
|
26
26
|
} from './Css.js';
|
|
27
|
-
import { setDocTitle } from './Router.js';
|
|
27
|
+
import { setDocTitle, closeModalRouteChangeEvent, handleModalViewRoute } from './Router.js';
|
|
28
28
|
import { NotificationManager } from './NotificationManager.js';
|
|
29
29
|
import { EventsUI } from './EventsUI.js';
|
|
30
30
|
import { Translate } from './Translate.js';
|
|
@@ -126,19 +126,13 @@ const Modal = {
|
|
|
126
126
|
};
|
|
127
127
|
Responsive.Event[`view-${idModal}`]();
|
|
128
128
|
|
|
129
|
-
//
|
|
130
|
-
if (options.route)
|
|
131
|
-
(
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
if (path !== newPath) {
|
|
137
|
-
// console.warn('SET MODAL URI', newPath);
|
|
138
|
-
setPath(`${newPath}`); // ${location.search}
|
|
139
|
-
setDocTitle({ ...options.RouterInstance, route: options.route });
|
|
140
|
-
}
|
|
141
|
-
})();
|
|
129
|
+
// Handle view mode modal route
|
|
130
|
+
if (options.route) {
|
|
131
|
+
handleModalViewRoute({
|
|
132
|
+
route: options.route,
|
|
133
|
+
RouterInstance: options.RouterInstance,
|
|
134
|
+
});
|
|
135
|
+
}
|
|
142
136
|
|
|
143
137
|
break;
|
|
144
138
|
case 'slide-menu':
|
|
@@ -249,8 +243,17 @@ const Modal = {
|
|
|
249
243
|
style="top: ${options.heightTopBar + 50}px; z-index: 9; ${true ||
|
|
250
244
|
(options.mode && options.mode.match('right'))
|
|
251
245
|
? 'right'
|
|
252
|
-
: 'left'}: 50px; width: 50px; height:
|
|
246
|
+
: 'left'}: 50px; width: 50px; height: 150px; transition: .3s"
|
|
253
247
|
>
|
|
248
|
+
<div
|
|
249
|
+
class="abs main-body-btn main-body-btn-ui"
|
|
250
|
+
style="top: 0px; ${true || (options.mode && options.mode.match('right')) ? 'right' : 'left'}: 0px"
|
|
251
|
+
>
|
|
252
|
+
<div class="abs center">
|
|
253
|
+
<i class="fas fa-caret-down main-body-btn-ui-open hide"></i>
|
|
254
|
+
<i class="fas fa-caret-up main-body-btn-ui-close"></i>
|
|
255
|
+
</div>
|
|
256
|
+
</div>
|
|
254
257
|
<div
|
|
255
258
|
class="abs main-body-btn main-body-btn-menu"
|
|
256
259
|
style="top: 50px; ${true || (options.mode && options.mode.match('right'))
|
|
@@ -263,15 +266,16 @@ const Modal = {
|
|
|
263
266
|
</div>
|
|
264
267
|
</div>
|
|
265
268
|
<div
|
|
266
|
-
class="abs main-body-btn main-body-btn-
|
|
267
|
-
style="top:
|
|
269
|
+
class="abs main-body-btn main-body-btn-bar-custom ${options?.slideMenuTopBarFix ? '' : 'hide'}"
|
|
270
|
+
style="top: 100px; ${true || (options.mode && options.mode.match('right'))
|
|
271
|
+
? 'right'
|
|
272
|
+
: 'left'}: 0px"
|
|
268
273
|
>
|
|
269
274
|
<div class="abs center">
|
|
270
|
-
<i class="
|
|
271
|
-
<i class="
|
|
275
|
+
<i class="fa-solid fa-magnifying-glass main-body-btn-ui-bar-custom-open"></i>
|
|
276
|
+
<i class="fa-solid fa-home hide main-body-btn-ui-bar-custom-close"></i>
|
|
272
277
|
</div>
|
|
273
278
|
</div>
|
|
274
|
-
<div class="main-body-btn-container-custom"></div>
|
|
275
279
|
</div>
|
|
276
280
|
`,
|
|
277
281
|
);
|
|
@@ -280,6 +284,22 @@ const Modal = {
|
|
|
280
284
|
Modal.actionBtnCenter();
|
|
281
285
|
};
|
|
282
286
|
|
|
287
|
+
s(`.main-body-btn-bar-custom`).onclick = () => {
|
|
288
|
+
if (s(`.main-body-btn-ui-close`).classList.contains('hide')) {
|
|
289
|
+
s(`.main-body-btn-ui`).click();
|
|
290
|
+
}
|
|
291
|
+
if (s(`.main-body-btn-ui-bar-custom-open`).classList.contains('hide')) {
|
|
292
|
+
s(`.main-body-btn-ui-bar-custom-open`).classList.remove('hide');
|
|
293
|
+
s(`.main-body-btn-ui-bar-custom-close`).classList.add('hide');
|
|
294
|
+
s(`.slide-menu-top-bar-fix`).style.top = '0px';
|
|
295
|
+
} else {
|
|
296
|
+
s(`.main-body-btn-ui-bar-custom-open`).classList.add('hide');
|
|
297
|
+
s(`.main-body-btn-ui-bar-custom-close`).classList.remove('hide');
|
|
298
|
+
s(`.slide-menu-top-bar-fix`).style.top = '-100px';
|
|
299
|
+
s(`.top-bar-search-box-container`).click();
|
|
300
|
+
}
|
|
301
|
+
};
|
|
302
|
+
|
|
283
303
|
let _heightTopBar, _heightBottomBar, _topMenu;
|
|
284
304
|
s(`.main-body-btn-ui`).onclick = () => {
|
|
285
305
|
if (s(`.main-body-btn-ui-open`).classList.contains('hide')) {
|
|
@@ -410,7 +430,10 @@ const Modal = {
|
|
|
410
430
|
</div>
|
|
411
431
|
</div>
|
|
412
432
|
${options?.slideMenuTopBarFix
|
|
413
|
-
? html`<div
|
|
433
|
+
? html`<div
|
|
434
|
+
class="abs modal slide-menu-top-bar-fix"
|
|
435
|
+
style="height: ${options.heightTopBar}px; top: 0px"
|
|
436
|
+
>
|
|
414
437
|
${await options.slideMenuTopBarFix()}
|
|
415
438
|
</div>`
|
|
416
439
|
: ''}
|
|
@@ -604,7 +627,16 @@ const Modal = {
|
|
|
604
627
|
Modal.removeModal(searchBoxHistoryId);
|
|
605
628
|
return;
|
|
606
629
|
}
|
|
607
|
-
setTimeout(() =>
|
|
630
|
+
setTimeout(() => {
|
|
631
|
+
getResultSearchBox(validatorData);
|
|
632
|
+
|
|
633
|
+
if (
|
|
634
|
+
s(`.slide-menu-top-bar-fix`) &&
|
|
635
|
+
!s(`.main-body-btn-ui-bar-custom-open`).classList.contains('hide')
|
|
636
|
+
) {
|
|
637
|
+
s(`.main-body-btn-bar-custom`).click();
|
|
638
|
+
}
|
|
639
|
+
});
|
|
608
640
|
};
|
|
609
641
|
|
|
610
642
|
const getDefaultSearchBoxSelector = () => `.search-result-btn-${currentKeyBoardSearchBoxIndex}`;
|
|
@@ -890,6 +922,9 @@ const Modal = {
|
|
|
890
922
|
],
|
|
891
923
|
eventCallBack: () => {
|
|
892
924
|
if (s(`.top-bar-search-box`)) {
|
|
925
|
+
if (s(`.main-body-btn-ui-close`).classList.contains('hide')) {
|
|
926
|
+
s(`.main-body-btn-ui-open`).click();
|
|
927
|
+
}
|
|
893
928
|
s(`.top-bar-search-box`).blur();
|
|
894
929
|
s(`.top-bar-search-box`).focus();
|
|
895
930
|
s(`.top-bar-search-box`).select();
|
|
@@ -1026,7 +1061,7 @@ const Modal = {
|
|
|
1026
1061
|
await Modal.onHomeRouterEvent();
|
|
1027
1062
|
Object.keys(this.Data[idModal].onHome).map((keyListener) => this.Data[idModal].onHome[keyListener]());
|
|
1028
1063
|
});
|
|
1029
|
-
EventsUI.onClick(`.action-btn-app-icon`, () =>
|
|
1064
|
+
EventsUI.onClick(`.action-btn-app-icon`, () => s(`.action-btn-home`).click());
|
|
1030
1065
|
Keyboard.instanceMultiPressKey({
|
|
1031
1066
|
id: 'input-shortcut-global-escape',
|
|
1032
1067
|
keys: ['Escape'],
|
|
@@ -1089,12 +1124,13 @@ const Modal = {
|
|
|
1089
1124
|
icon: html`<i class="fas fa-language mini-title"></i>`,
|
|
1090
1125
|
text: Translate.Render('select lang'),
|
|
1091
1126
|
})}`,
|
|
1092
|
-
html: () => html
|
|
1127
|
+
html: async () => html`${await Translate.RenderSetting('action-drop-modal' + id)}`,
|
|
1093
1128
|
titleClass: 'mini-title',
|
|
1094
1129
|
style: {
|
|
1095
1130
|
resize: 'none',
|
|
1096
|
-
|
|
1097
|
-
height: '
|
|
1131
|
+
width: '100% !important',
|
|
1132
|
+
height: '350px !important',
|
|
1133
|
+
'max-width': '350px !important',
|
|
1098
1134
|
'z-index': 7,
|
|
1099
1135
|
},
|
|
1100
1136
|
dragDisabled: true,
|
|
@@ -1435,7 +1471,8 @@ const Modal = {
|
|
|
1435
1471
|
setDocTitle({ ...options.RouterInstance, route: '' });
|
|
1436
1472
|
};
|
|
1437
1473
|
s(`.main-btn-home`).onclick = async () => {
|
|
1438
|
-
await this.onHomeRouterEvent();
|
|
1474
|
+
// await this.onHomeRouterEvent();
|
|
1475
|
+
s(`.action-btn-home`).click();
|
|
1439
1476
|
};
|
|
1440
1477
|
EventsUI.onClick(`.btn-icon-menu-back`, backMenuButtonEvent);
|
|
1441
1478
|
EventsUI.onClick(`.btn-icon-menu-mode`, () => {
|
|
@@ -1652,27 +1689,14 @@ const Modal = {
|
|
|
1652
1689
|
setTimeout(() => {
|
|
1653
1690
|
if (!s(`.${idModal}`)) return;
|
|
1654
1691
|
this.removeModal(idModal);
|
|
1655
|
-
//
|
|
1656
|
-
if (options.route)
|
|
1657
|
-
(
|
|
1658
|
-
|
|
1659
|
-
|
|
1660
|
-
|
|
1661
|
-
|
|
1662
|
-
|
|
1663
|
-
if (this.Data[subIdModal].options.route) {
|
|
1664
|
-
newPath = `${newPath}${this.Data[subIdModal].options.route}`;
|
|
1665
|
-
console.warn('------------> SET MODAL URI', newPath);
|
|
1666
|
-
setPath(newPath);
|
|
1667
|
-
this.setTopModalCallback(subIdModal);
|
|
1668
|
-
return setDocTitle({ ...options.RouterInstance, route: this.Data[subIdModal].options.route });
|
|
1669
|
-
}
|
|
1670
|
-
}
|
|
1671
|
-
console.warn('-------------> SET MODAL URI', newPath);
|
|
1672
|
-
setPath(`${newPath}${Modal.homeCid ? `?cid=${Modal.homeCid}` : ''}`);
|
|
1673
|
-
return setDocTitle({ ...options.RouterInstance, route: '' });
|
|
1674
|
-
}
|
|
1675
|
-
})();
|
|
1692
|
+
// Handle modal route change
|
|
1693
|
+
if (options.route) {
|
|
1694
|
+
closeModalRouteChangeEvent({
|
|
1695
|
+
route: options.route,
|
|
1696
|
+
RouterInstance: options.RouterInstance,
|
|
1697
|
+
homeCid: Modal.homeCid,
|
|
1698
|
+
});
|
|
1699
|
+
}
|
|
1676
1700
|
}, 300);
|
|
1677
1701
|
};
|
|
1678
1702
|
s(`.btn-close-${idModal}`).onclick = btnCloseEvent;
|